admin账户下安装mysql
安装MySQL相信大家都会安装,但是如果现在你只有机器的admin账户,你不能够su到root下去,那么你怎么才能安装好mysql列。
至少我安装起来感觉缚手缚脚的,最终还是安装成功运行起来了,特别把一些需要注意的点记录下来。
1、my.cnf放在哪里?
从reference上抄录如下:
On Unix, Linux and Mac OS X, MySQL programs read startup options from the following files, in the specified order (top items are used first).
File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options (as of MySQL 5.1.15)
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options
defaults-extra-file The file specified with –defaults-extra-file=path, if any
~/.my.cnf User-specific options
~ represents the current user’s home directory (the value of $HOME).
前面的那些目录都没有权限,那么就只好在$HOME下放一个.my.cnf
2、目录配置
目录当然需要放在/home/admin下了,我这边的目录在[mysqld]组下设置如下:
basedir=/home/admin/mysql/mysql/
datadir=/home/admin/mysql/mysqldata/mydata
socket=/home/admin/mysql/mysqldata/sock/mysql.sock
pid-file=/home/admin/mysql/mysqldata/sock/mysql.pid
tmpdir=/home/admin/mysql/mysqldata/tmpdir
log-error=/home/admin/mysql/mysqldata/log/error.log
slow_query_log_file=/home/admin/mysql/mysqldata/log/slow-query.log
log-bin=/home/admin/mysql/mysqldata/binlog/mysql-bin
relay-log=/home/admin/mysql/mysqldata/relaylog/mysql-relay-bin
innodb_data_home_dir = /home/admin/mysql/mysqldata/innodb_ts
innodb_log_group_home_dir = /home/admin/mysql/mysqldata/innodb_log
本来basedir没有在这个.my.cnf里面,结果就出错了。
唉,还好 ./support-files/mysql.server 和 mysqld_safe是脚本,用bash -x 调试模式执行的时候仔细看还是能够找到对应的错误
对应的[client]需要指定:
socket = /home/admin/mysql/mysqldata/sock/mysql.sock
3、用户配置:
用户之前是用的mysql账户运行的,现在要用admin运行,所以修改[mysqld]组如下:
user=admin
4、./support-files/mysql.server修改
作为起停MySQL的脚本,它的basedir和datadir我都设置了
basedir=/home/admin/mysql/mysql/
datadir=/home/admin/mysql/mysqldata/mydata/
5、[mysqld_safe]设置
pid-file=/home/admin/mysql/mysqldata/sock/mysql.pid
本来我只设置了pid,并且在一台机器上启动MySQL成功了。但是在第二台机器上启动的时候失败了。
找了半天,才在mysqld_safe脚本里面找到出错的地方:
/home/admin/mysql/mysql//bin/mysqld_safe: line 137: /var/log/mysqld.log: Permission denied
对应的错误日志不对,于是,在.my.cnf的[mysqld_safe]组里加上
log-error=/home/admin/mysql/mysqldata/log/error.log
启动MySQL,没有异常。大功告成!
另外,也要注意把MySQL的bin目录加入到PATH里面去!
其实这里面最需要注意的就是出错的时候:
bash -x ./support-files/mysql.server start
或者
bash -x /home/admin/mysql/mysql//bin/mysqld_safe –datadir=/home/admin/mysql/mysqldata/mydata –pid-file=/home/admin/mysql/mysqldata/sock/mysql.pid &
查看到底是哪里出错了。根据具体的错误来定位和修改。
may your success!