mysql - 为什么mysqld_multi无法启动mysql?

标签 mysql

在我的 my.cnf 中,我写道:

[mysqld_multi]
mysqld = /usr/local/Cellar/mysql/5.7.11/bin/mysqld_safe
mysqladmin = /usr/local/Cellar/mysql/5.7.11/bin/mysqladmin
user = root
password =

[mysqld1]
pid-file = /usr/local/etc/mysql/mysqld.pid
socket = /usr/local/etc/mysql/mysqld.sock
port = 3306
datadir = /usr/local/var/mysql
log-bin=mysql-bin
server-id=1

[mysqld2]
pid-file = /usr/local/etc/mysql/mysqld1.pid
socket = /usr/local/etc/mysql/mysqld1.sock
port = 3307
datadir = /usr/local/var/mysql1
server-id=2
language=/usr/local/Cellar/mysql/5.7.11/share/mysql/english
user=mysql

然后我执行mysqld_multi start 2,并得到错误信息:

Installing new database in /usr/local/var/mysql1

2016-09-19 19:37:16 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-09-19 19:37:16 [ERROR]   Can't locate the language directory.

FATAL ERROR: Tried to start mysqld under group [mysqld2],
but no data directory was found or could be created.
data directory used: /usr/local/var/mysql1

我无法启动mysql进程,请问是什么问题?看来目录/usr/local/var/mysql1有问题,但该目录确实存在,令人困惑。

最佳答案

似乎 mysqld_multi 没有修复为使用 mysqld --initialize

您必须运行 mysqld --initialize 以及该服务器 my.cnf 中所有与目录相关的选项。

(来自评论) 您还可以按照 Running two instances of mysql 中的说明修复 mysqld_multi 脚本。 .

关于mysql - 为什么mysqld_multi无法启动mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39572451/

相关文章:

php - 使用 PHP 在 SQL 数据库中搜索部分匹配

mysql - 如何使用Hibernate在一张表中存储由其他实体组成的实体?

mysql错误1064,我找不到错误

php - 根据给定日期范围检索表

MySQL 子查询 - MySQL 3.23

PHP从数据库中获取号码

java - 如何针对这种情况创建 hibernate 映射?

php - 创建字段数组然后循环遍历 PHP 中的集合

mysql - mysql规范化数据库中PRIMARY KEY的使用方法

php - 在 php 中获取小时之间的数据