RHEL5.4下使用Apache+PHP+MySQL配置LAMP服务器
RHEL5.4下使用Apache+PHP+MySQL配置LAMP服务器具体步骤:
###########分割线 编译安装Mysql,启动控制Mysql###########
1、卸载已安装的mysql的RPM包
编译安装mysql前,首先查看系统中是否已安装mysql服务器软件:
[root@server01 /]# rpm -qa | grep mysql
[root@server01 /]# rpm -e mysql-server
[root@server01 /]# rpm -e mysql-connector-odbc
[root@server01 /]# rpm -e libdbi-dbd-mysql
[root@server01 /]# rpm -e mysql --nodeps
删除RPM包创建的mysql账号
[root@server01 /]# userdel -r mysql
2、释放MySQL软件包
为了避免发生冲突,建议先卸载掉系统自带的mysql相关软件包
[root@server01 tool]# tar -zxvf mysql-5.0.56.tar.gz
3、添加MySQL用户和组,用于运行和维护mysql服务
[root@server01 tool]# useradd -M -s /sbin/nologin mysql
-M 选项表示不建立用户宿主目录、
-s 选项表示指定用户的shell
4、编译前的预配置
[root@server01 mysql-5.0.56]# ./configure --prefix=/usr/local/mysql
5、编译并安装
[root@server01 mysql-5.0.56]# make && make install
6、建立mysql配置文件
在展开的源码包目录中的support-files文件夹下,提供了多个MySQL服务器的配置样例文件,分别适用于不同负载的数据库服务器。一般选择my-medium.cnf文件即可,该配置文件适用于中等负载的数据库,可以满足大多数企业的应用需求
[root@server01 mysql-5.0.56]# cp support-files/my-medium.cnf /etc/my.cnf
7、初始化mysql数据库
以mysql用户的身份执行mysql_install_db脚本,对MySQL数据库进行初始化
[root@server01 mysql-5.0.56]# cd /usr/local/mysql/bin/
[root@server01 bin]# ./mysql_install_db --user=mysql
会在/usr/local/mysql下产生var目录,并在var目录下创建2个默认数据库mysql和test;
8、调整mysql目录权限
修改相关目录的所有权,以便mysql用户可以读写数据库
调整/usr/loca/mysql目录的权限:
[root@server01 local]# ls -ld /usr/local/mysql/
[root@server01 local]# chown -R root.mysql /usr/local/mysql
[root@server01 local]# ls -ld /usr/local/mysql/
调整/usr/local/mysql/var目录的权限:
[root@server01 local]# chown -R mysql /usr/local/mysql/var/
[root@server01 local]# ls -ld /usr/local/mysql/var
9、调整lib库路径
由于Mysql安装到了非标准的路径中。所以还需要将MySQL的库文件路径“/usr/local/mysql/lib/mysql”?加入到系统的库文件搜索路径中,以便在用到时能够自动搜索到。增加库文件搜索路径可以通过修改“/etc/ld.so.conf”文件实现
[root@server01 local]# vi /etc/ld.so.conf
添加路径:
/usr/local/mysql/lib/mysql
[root@server01 local]# ldconfig
10、Mysql的启动控制
(1) 使用mysqld_safe脚本安全启动服务
[root@server01 local]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
(2) 设置MySQL程序的执行路径,主要是为了在执行mysql管理工具时方便
方法一:修改配置文件/etc/profile,使配置永久生效
[root@server01 local]# vi /etc/profile
添加:
PATH=$PATH:/usr/local/mysql/bin
[root@server01 local]# source /etc/profile
方法二:执行export命令,使配置仅当前生效
[root@server01 local]#export PATH=$PATH:/usr/local/mysql/bin
(3) 将Mysql添加为系统服务,主要是为了mysql服务启动的方便
[root@server01 local]# cd /tool/mysql-5.0.56
[root@server01 mysql-5.0.56]# cp support-files/mysql.server /etc/init.d/mysqld
[root@server01 mysql-5.0.56]# chmod +x /etc/init.d/mysqld
[root@server01 mysql-5.0.56]# chkconfig --add mysqld
[root@server01 mysql-5.0.56]# chkconfig mysqld on
这样也就可以使用service mysqld start/restart/stop来对mysql服务进行管理了!
###########分割线 mysql数据库的基本管理操作###########
1、登陆及退出mysql数据库环境
[root@server01 /]# mysql -u root
以管理员root第一次登陆默认是没有密码的,直接执行上面的命令即可;
退出mysql环境的话:可以使用exit或ctrl+c
2、为mysql数据库的默认管理员root设置密码
[root@server01 /]# mysqladmin -u root password "123456"
[root@server01 /]# mysql -u root -p
3、show databases语句
mysql> show databases;
4、show tables语句
mysql> use mysql;
mysql> show tables;
说明:表存储在/usr/local/mysql/var/mysql下,里面的文件主要有3种类型:
.frm是存储数据表的框架结构
.myd是MyISAM表的数据文件的扩展名
.myi是MyISAM表的索引的扩展名
5、describe语句
mysql> use mysql;
mysql> describe user;
6、create database语句
mysql> create database db_ceshi;
说明:创建一个新的数据库,会在/usr/local/mysql/var/目录下会对应一个同名的目录,用于保存该数据库的数据库对象;
7、create table语句
mysql> use db_ceshi;
mysql> create table users (username char(30) NOT NULL,userpasswd char(20) NOT NULL DEFAULT'123456',PRIMARY KEY (username));
mysql> describe users;
8、drop table语句
mysql> drop table users;
9、drop database语句
mysql> drop database db_ceshi;
10、insert语句
mysql> create database db_ceshi;
Query OK, 1 row affected (0.00 sec)
mysql> use db_ceshi;
Database changed
mysql> create table users (username char(30) NOT NULL,userpasswd char(20) NOT NULL Default '123456',Primary key (username));
mysql> insert into users(username,userpasswd) values ('zhangsan',encrypt('123456'));
mysql> insert into users(username,userpasswd) values ('lisi',encrypt('123456'));
11、select语句
mysql> select * from users;
mysql> select * from users where username='zhangsan';
12、update语句
mysql> update users set username='qq' where username='zhangsan';
也可以更改root管理的密码,不过需要执行flush privileges命令
mysql> update mysql.user set password=password('123456') where user='root';
mysql> flush privileges;
13、delete语句
mysql> delete from users where username='lisi';
删除所有密码为空的mysql用户
mysql> delete from mysql.user where user='';