background image

#sysconfdir=/etc my.ini 配置文件的路径

#localstatedir=/var/lib/mysql 数据库存放的路径

安装完以后要初始化数据库,当然你是升级的话不用做这步;

/usr/local/mysql/bin/mysql_install_db

如果系统没有

mysql 这个用户的话,最好做以下这步:

useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql 

然后我启动

mysql

/usr/local/mysql/bin/safe_mysqld &

ok,先看看 mysql 能否正常工作

mysql -uroot mysql

一般情况下都是不能正常链接数据库,错误提示一般为:

ERROR 2002: Can't connect to local MySQL server through socket 

'/var/lib/mysql/mysql.sock' (2) 

其实网上大家问的最多的都是整个问题,说什么链接不到

mysqld.sock,其实大家不妨看看 mysql 的错误日志

就明白怎么回事,我这里的错误日志是在

/var/lib/mysql/*.err 你会发现 mysql 只所以不能启动,是因为/var/lib/mysql 的权限不允许 mysql
服务访问,英文

mysql 默认是调用 mysql 用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简

单了。我们只要

chown -R mysql:mysql /var/lib/mysql 就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了
都是权限的问题。

如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置,反正我每次都是这么做的,一般不会有问
题,见下:

chown -R root /usr/local/mysql 

chgrp -R mysql /usr/local/mysql 
chown -R root /usr/local/mysql/bin 

chgrp -R mysql /usr/local/mysql/bin 
chgrp -R mysql /var/lib/mysql 

chmod 777 /var/lib/mysql 
chown -R root /var/lib/mysql/mysql 

chgrp -R mysql /var/lib/mysql/mysql 
chmod 777 /var/lib/mysql/mysql 

chown -R root /var/lib/mysql/mysql/* 
chgrp -R mysql /var/lib/mysql/mysql/* 

chmod 777 /var/lib/mysql/mysql/* 
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

做完上面的步骤,然后把你编译目录的一个脚本

COPY 过去

cp support-files/mysql.server /etc/rc.d/init.d/mysqld