Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL本地多个实例不工作_Mysql_Local - Fatal编程技术网

MySQL本地多个实例不工作

MySQL本地多个实例不工作,mysql,local,Mysql,Local,所以我通过自制安装了MySQL,并编辑了my.cnf,如下所示。我已将mysql和mysql2目录添加到/usr/local/var/中,其中保存了数据库的数据,并安装了第二个配置为使用/usr/local/var/mysql2的mysql服务器 [mysqld_multi] mysqld = /usr/local/Cellar/mysql/5.6.24/bin/mysqld_safe mysqladmin = /usr/local/Cellar/mysql/5.6.24/bin/my

所以我通过自制安装了MySQL,并编辑了my.cnf,如下所示。我已将mysql和mysql2目录添加到/usr/local/var/中,其中保存了数据库的数据,并安装了第二个配置为使用/usr/local/var/mysql2的mysql服务器

[mysqld_multi]
mysqld     = /usr/local/Cellar/mysql/5.6.24/bin/mysqld_safe 
mysqladmin = /usr/local/Cellar/mysql/5.6.24/bin/mysqladmin
log        = /var/log/mysqld_multi.log
user       = root
password   = password

[mysqld1]
socket     = /tmp/mysql.sock1
port       = 3306
pid-file   = /usr/local/var/mysql/mysqld1.pid
datadir    = /usr/local/var/mysql/
language   = /usr/local/Cellar/mysql/5.6.24/share/mysql/english
user       = root

[mysqld2]
socket     = /tmp/mysql.sock2
port       = 3308
pid-file   = /usr/local/var/mysql2/mysqld2.pid
datadir    = /usr/local/var/mysql2/
language   = /usr/local/Cellar/mysql/5.6.24/share/mysql/english
user       = root
问题是,当我像这样启动服务器时:

mysqld_multi start --user=root --password=password
当我运行时,我看到它们都被实例化了

mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
当我分别启动/停止1/2 start/stop和/usr/local/var/mysql时,.pid文件是使用我的本地用户名而不是mysqld1.pid生成的,在/usr/local/var/mysql2中没有创建.pid文件。我可以使用以下方式连接到数据库:

mysql -h 127.0.0.1 -P 3306 -u root -ppassword
但是,我无法连接端口3308

运行nmap告诉我:

nmap -p 3308 127.0.0.1


Nmap scan report for localhost (127.0.0.1)
Host is up (0.00011s latency).
PORT     STATE  SERVICE
3308/tcp closed unknown
我不知道这里发生了什么,我们非常感谢你的帮助

必须按如下方式执行My_print_默认值以生成任何输出:

my_print_defaults --defaults-file=/usr/local/Cellar/mysql/5.6.24/my.cnf   client mysqld1

--socket=/tmp/mysql.sock1
--port=3306
--pid-file=/usr/local/var/mysql/mysqld1.pid
--datadir=/usr/local/var/mysql/
--language=/usr/local/Cellar/mysql/5.6.24/share/mysql/english
--user=root

my_print_defaults --defaults-file=/usr/local/Cellar/mysql/5.6.24/my.cnf client mysqld2
--socket=/tmp/mysql.sock2
--port=3308
--pid-file=/usr/local/var/mysql2/mysqld2.pid
--datadir=/usr/local/var/mysql2/
--language=/usr/local/Cellar/mysql/5.6.24/share/mysql/english
--user=root

什么是
myu-print\u defaults mysqld1
myu-print\u defaults mysqld2
print?我已将myu-print\u defaults输出添加到问题中