Linux下如何启动多个mysql服务器?

发布时间:2020-03-26编辑:脚本学堂
本文介绍了Linux下启动多个mysql服务器的方法,有关多个mysql服务器的启动脚本,以及遇到的问题与解决方法,需要的朋友做个参考吧。

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、添加执行权限,并启动:
 

复制代码 代码示例:
chmod a+x my.cnf,./my.cnf

linux启动多个mysql服务器

6、启动正常,如上图。

问题分析:
1)、/usr/local/mysql/libexec/mysqld: File ‘./mysql-bin.index' not found (Errcode: 13)
原因是没有执行第2步,给数据库数据文件夹设置用户组权限;(www.jb200.com 脚本学堂 整理)

2)、Can't 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的文件是否正确。