我有两个 MySQL 服务器正在运行(127.0.0.1:3306 和 127.0.0.1:3307)。现在我收到这个奇怪的错误:
mysql_connect(): Lost connection to MySQL server at 'reading initial communication packet'
我可以连接到 localhost:3307,但没有任何表/数据库。我确定/etc/my.cnf
是正确的:
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
password = ***
[mysqld]
port = 3306
socket = /var/run/mysql/mysql.sock
[mysqld2]
port = 3307
socket = /var/run/mysql/mysql2.sock
我现在能做什么?如何重新启动 MySQL 服务器?如何确保所有表仍然存在?
答案1
您没有为每个 mysqld 实例指定 datadir。例如:
[mysqld]
port = 3306
socket = /var/run/mysql/mysql.sock
datadir = /var/lib/mysql
您的问题已经是几个月前提出的了,我希望您已经弄清楚了。