添加log-bin后MySQL无法启动 - Master Replication

时间:2015-07-15 13:43:42

标签: mysql fedora master-slave

我尝试设置主复制服务器。当我在my.cnf中添加log-bin目录后尝试启动/重启服务器时,

log-bin = /var/log/mysql/mysql-bin.log 

服务器未启动。

MySQL状态

  

mysqld.service - MySQL服务器         已加载:已加载(/etc/systemd/system/mysqld.service;已启用)         活跃:不活跃(死亡)自2015年7月13日星期一17:46:47 +0800; 1s ago        进程:14145 ExecStart = / usr / bin / mysqld_safe --defaults-file = / etc / my.cnf --datadir = / var / lib / mysql --socket = / var / lib / mysql / mysql.sock(code =退出,状态= 0 /成功)         CGroup:name = systemd:/system/mysqld.service

但是我按照以下(没有文件夹路径)更改了log-bin

log-bin = mysql-bin.log

服务器正在成功运行。

MySQL状态

  

mysqld.service - MySQL服务器         已加载:已加载(/etc/systemd/system/mysqld.service;已启用)         活跃:活跃(正在运行)自2015年7月13日星期一17:47:43 +0800; 2s前       主PID:15272(mysqld_safe)         CGroup:name = systemd:/system/mysqld.service             ├15272/ bin / sh / usr / bin / mysqld_safe --defaults-file = / etc / my.cnf --datadir = / var / lib / mysql --socket = / var / lib / mysql / mysq ...             └15615/ usr / libexec / mysqld --defaults-file = / etc / my.cnf --basedir = / usr --datadir = / var / lib / mysql --plugin-dir = / usr / lib / ...

更新

来自 mysqld.log

  

/var/log/mysql/mysql-bin.index'未找到(错误代码:2)

但我的mysql-bin.index默认为

  

/var/lib/mysql/mysql-bin.index

有没有人可以帮助我,因为我刚开始学习主从复制?我是否需要创建文件夹名称mysql并将权限更改为mysql并放入日志目录或如何确保它正确找到我的mysql-bin.index文件?

2 个答案:

答案 0 :(得分:1)

最后我找到了解决方案。不确定我是否以正确的方式做到了。

搜索(错误代码:2)后,发现它表明该文件或目录不存在。所以我创建了名为mysql的文件夹并添加到日志目录中(以root用户身份登录)。当我尝试重新启动服务器时,它给了我另一个错误:

  

/var/log/mysql/mysql-bin.index'未找到(错误代码:13)

错误代码:13 表示权限被拒绝。所以我已经将所有权从root更改为mysql:

chown -R mysql:mysql /var/log/mysql

我重新启动服务器并成功运行。

答案 1 :(得分:0)

如果与mysql的数据和日志相关的路径访问出错,它将调用默认的/ var / lib / mysql和/ var / log / mysql。要以ovveride mysql日志文件路径执行以下操作。

  1. 创建新路径

  2. 制作拥有mysql用户所有权的路径    示例 - sudo显示-R mysql:mysql / mnt / mysql / logs

  3. 将路径传递给apparmor以读取此目录。 文件位置 - /etc/apparmor.d/usr.sbin.mysqld

    含量

    #允许日志文件访问

    @Startup
  4. 注意:如果apparmor没有正确的路径,那么它会发出与简单chown和chmod相混淆的权限