数据库开启二进制日志失败,报错权限问题怎么解决?

Ubuntu16.4系统,MySQL5.7
开启二进制日志后重启数据库报错,目录属主数组都是mysql,目录权限777,没有seLinux等
没有残留进程
配置文件
图片说明
日志报错
图片说明

根据提供的情况,可以看到错误信息中提示“[ERROR] --initialize specified but the data directory has files in it. Aborting.”,即在使用--initialize命令初始化数据库时,发现数据目录中已经存在文件,因此初始化失败。建议您按照以下步骤操作:

1.备份数据

在修改配置文件和进行其他操作之前,先备份数据库中的数据,以防止数据丢失。

2.停止MySQL服务

使用以下命令停止MySQL服务:

sudo systemctl stop mysql

3.清空数据目录

执行以下命令清空数据目录中的所有文件:

sudo rm -rf /var/lib/mysql/*

(请谨慎使用,确保您已先备份了数据。)

4.使用--initialize命令初始化数据库

执行以下命令初始化MySQL数据库:

sudo mysqld --initialize-insecure

该命令将使用默认的root用户和空密码进行初始化。如果需要设置密码,可以使用--initial-password选项指定初始密码,如下所示:

sudo mysqld --initialize-insecure --initial-password=

5.更改目录权限

执行以下命令更改数据目录权限:

sudo chown -R mysql:mysql /var/lib/mysql

6.启动MySQL服务

使用以下命令启动MySQL服务:

sudo systemctl start mysql

7.开启二进制日志

执行以下命令开启二进制日志:

sudo mysql -u root -p
mysql> SET GLOBAL log_bin = ON;

以上是一个基本的解决步骤,如果问题仍然存在,请提供更详细的错误信息和其他相关信息。