在RedHat Linux 7.2下以非root身份把mysql安装到非默认路径下可能会遇到问题。具体来说有如下情况:1.2.2.1  在configure时指定的参数会无效
在make install之后,执行./scripts/mysql_install_db时,程序会把datadir默认在/var/lib/mysql,如果不是root用户,此时执行./scripts/mysql_install_db会遇到权限不足的问题,因此要按如下方式运行:
./scripts/mysql_install_db --datadir=$HOME/bin/mysql/data1.2.2.2  在启动mysqld_safe时
程序会默认去读/etc/my.cnf文件获得配置项,因此,建议把/etc/my.cnf文件拷贝到$HOME/bin/mysql/bin下面。my.cnf文件如下:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
     
[mysql.server]
user=mysql
basedir=/var/lib[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
根据具体的要求修改my.cnf文件,注意所有路径要用绝对路径。其中各变量意义如下:
datadir 数据库文件的保存目录
socket 保存mysql使用的tcp端口的文件及路径
user 运行mysql服务器的系统用户
basedir mysql的安装目录
err-log 保存进程错误报告的文件及路径
pid-file 保存进程ID的文件及路径
在启动mysqld_safe时,按如下方式运行:
mysqld_safe --defaults-file=./my.cnf &