运行两个mysql实例

时间:2016-10-06 15:50:57

标签: mysql

我试图在同一台机器上运行两个MySQL实例并设置my.cnf文件如下:

[mysqld1]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3307
datadir     = /var/lib/mysql

[mysqld2]
user        = mysql
pid-file    = /var/run/mysqld/mysqld2.pid
socket      = /var/run/mysqld/mysqld2.sock
port        = 3308
datadir     = /var/lib/mysql2

当我执行 mysqld_multi start 命令时,会出现以下错误:

  

在/ var / lib / mysql2中安装新数据库

     

2016-10-06 17:47:23 [警告]不推荐使用mysql_install_db。请   考虑切换到mysqld --initialize 2016-10-06 17:47:23 [ERROR]   无法找到服务器可执行文件(mysqld)。

     

致命错误:试图在组[mysqld2]下启动mysqld,但没有数据   目录已找到或可以创建。使用的数据目录:   的/ var / lib中/ mysql2

我该如何解决这个问题?

注意:MySQL在Ubuntu 16.0.4和MySQL 5.7上运行

1 个答案:

答案 0 :(得分:1)

我知道一个问题。

2016-10-06 17:47:23 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2016-10-06 17:47:23 [ERROR] Can't locate the server executable (mysqld).

请在文件/ use / bin / mysqld_multi

中修改343到344和345行
343   #$install_cmd="/usr/bin/mysql_install_db ";
344   $install_cmd="/usr/bin/mysqld ";
345   $install_cmd.="--initialize ";
346   $install_cmd.="--user=mysql ";
347   $install_cmd.="--datadir=$datadir";