Linux下启动多个mysql服务器例子 |
1、 创建多个mysql database目录 复制代码 代码如下: Mysql_install_db --datadir=/data/mysql_3307 2、 设置database目录权限 复制代码 代码如下: Chown –R mysql /data 3、 拷贝、设置my.cnf 复制代码 代码如下: cp XXX/my.cnf /data/mysql_3307/my.cnf 添加my.cnf 复制代码 代码如下: log-error = /data/mysql_3307/localhost.localdomain.err pid-file = /data/mysql_3307/localhost.localdomain.pid 4、 添加启动脚本: 复制代码 代码如下: #!/bin/ti rundir=`pwd` datadir=$rundir cnf=$rundir"/my.cnf" echo "server path : $rundir" echo "data path : $datadir" echo "cnf : $cnf" /usr/local/mysql/bin/mysqld_safe / --defaults-file="$cnf" / --pid-file="$rundir"/mysql.pid / --datadir="$datadir" / --socket="$rundir"/mysql.sock / & 5、OK,chmod a+x my.cnf,./my.cnf,启动 6、Ok,启动正常,如上图所示 。 可能遇到的问题: 1)/usr/local/mysql/libexec/mysqld: File ‘./mysql-bin.index not found (Errcode: 13) 原因是没有执行第2步,给数据库数据文件夹设置用户组权限; 2)Cant find messagefile ‘/data/mysql_3307/share/mysql/english/errmsg.sys 需要在my.cnf中配置语言的路径,添加如下:language = /usr/local/mysql/share/mysql/English 3)mysql 连接不上mysql server 注意mysql 指明配置文件的路径,例如mysql –defaults-file=/data/mysql_3307/my.cnf 。在my.cnf文件中需要检查client.socket的文件是否正确 。 |