作者:blacktulip 来源:网贝 酷勤网收集 2008-06-22
上一篇描述了安装http服务器Apache的过程,这篇说说怎么折腾MySQL。
书接上一回,测试Apache服务器成功以后,就要开始安装数据库。首先要创建一个用户组和至少一个数据库用户。方法为:
groupadd mysql //创建一个组名为mysql的用户组.
useradd –g mysql mysqluser1 //创建一个名为mysqluser1的用户,令其隶属于mysql组
然后正式开始安装过程:
cd / //回到根目录
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz/from/http://mysql.osuosl.org/ //下载mysql 5.0.51b源代码
tar zxvf mysql-5.0.51b.tar.gz //解压
cd mysql-5.0.51b.tar.gz //进入源码目录
yum install ncurses-devel //ncurses开发包必须先行安装,否则MySQL配置安装时会出错
然后又是源码安装三步曲:
./configure –prefix=/usr/local/mysql //配置MySQL的安装,prefix不指定也可。make //编译make install //安装
然后,很费解的一步,需要手动把一个配置文件的模板拷贝到配置文件目录里…为啥安装的时候不自动拷过去呢?总之是要输入一条命令:
cp support-files /my-medium.cnf /etc/my.cnf //创建配置文件,以后/etc/my.cnf就是MySQL的配置文件了,要改MySQL的配置就找它。
接下来,第一次运行MySQL之前,要创建MySQL授权表,方法如下:
cd /usr/local/mysql //进入MySQL目录
bin/mysql_install_db –user=mysqluser1 //创建授权表,授权给mysqluser1(就是本文开头创建的那个用户)。
chown –R root . //注意命令最后的点,表示当前目录。此命令把当前目录下文件属性改为root用户。
chown –R mysqluser1 var //把数据目录的属性改成mysqluser1这个用户。
chgrp –R mysql . //注意最后的点,这是把组属性改成mysqlgroup组。
这些手续办完以后,就可以启动MySQL并进行测试了,启动命令如下:
/usr/local/mysql/bin/mysqld_safe –user=mysqluser1 & //启动MySQL,注意最后的&符号,不加这个符号的话也行,但你这个ssh进程就给占了,得另开一个。
启动成功了吧,恭喜恭喜,现在我们来测试一下。首先确认自己在/usr/local/mysql目录下,然后
bin/mysqlshow //显示MySQL里面的数据库列表
如过你看到一个类似右图的表格,就成功了。
下一步,我们必须做一些安全措施。因为在缺省安装过程中,MySQL会创建两个匿名用户,同时root用户的密码也是空的,这简直就是不设防。所以需要把该加的密码加上,把匿名用户给删掉。
bin/mysql –u root //以root帐号登入MySQL,执行后,命令提示符会变成mysql>这个样子
DELETE FROM mysql.user WHERE User=”; //把匿名帐户选出来删掉,注意User=后面是两个单引号一个分号,不是一个双引号一个分号。
FLUSH PRIVILEGES; //重读授权表使上一条命令生效。
Quit //退出MySQL命令行
下一步,要把root用户加上密码,方法为:
bin/mysql –u root //以root帐号登入MySQL
SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(’你的密码’); //给以localhost连接的root帐号设置密码,“你的密码”改成你的密码哦…别忘了最后有个分号。‘root’@'主机名’ = PASSWORD(’你的密码’); //给用主机名连接的root帐号设置密码。主机名改成你自己的主机名。
Quit //退出MySQL命令行
SET PASSWORD FOR
现在把刚创建的mysqluser1给予数据库访问权限,然后用同样的方法把mysqluser1这个用户的密码也加上。
bin/mysql –u root -p //以root帐号登入MySQL,注意这次用了-p参数,因为root帐号已经有密码保护了,直接连就连不上,必须用-p参数,执行这行命令后,会提示你输入密码。
GRANT ALL PRIVILEGES ON *.* TO ‘mysqluser1′@’localhost’ //给予mysqluser1用localhost连接数据库的所有权限。为安全起见,不需要给予用户远程连接数据库的权限。执行这条命令后,提示符会变成->形状,继续输入下一条指令:IDENTIFIED BY ‘这里放一个密码’ WITH GRANT OPTION; //设置数据库用户mysqluser1的连接密码。注意最后有分号。
(以下两行命令非必须,而且不安全,实在有需要才用)
GRANT ALL PRIVILEGES ON *.* TO ‘mysqluser1′@’*' //给予mysqluser1远程连接数据库权限。接着输入下一条:
IDENTIFIED BY ‘这里放一个密码’ WITH GRANT OPTION; //设置远程数据库用户mysqluser1的连接密码。注意最后有分号
Quit //退出MySQL命令行
终于接近尾声了,最后我们来看看如何设置开机自动启动MySQL。
cd /mysql-5.0.51b.tar.gz //回到源码目录,希望你还没有删…
cp support-files/mysql.server /etc/rc.d/init.d/ //把启动脚本放在Linux的启动文件夹中。注意启动文件夹不一定在/etc/rc.d/init.d/这个位置,你只要找/etc下面的init.d这个目录就是了。
好了,MySQL已经装好,LAMP只剩最后一个PHP了,且让我休息一下,下回接着说。
参考资料: MySQL 5.1参考手册

