我尝试设置主复制服务器。当我在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文件?
答案 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日志文件路径执行以下操作。
创建新路径
制作拥有mysql用户所有权的路径 示例 - sudo显示-R mysql:mysql / mnt / mysql / logs
将路径传递给apparmor以读取此目录。 文件位置 - /etc/apparmor.d/usr.sbin.mysqld
含量
#允许日志文件访问
@Startup
注意:如果apparmor没有正确的路径,那么它会发出与简单chown和chmod相混淆的权限