[英]How to configure log_bin and log_bin_index in my.cnf in mysql 8.0.24 community server?
操作系统是 Ubuntu 18.04。 Mysql 是 8.0.24 社区服务器。
我的数据目录如下所示:
mysql> show variables like '%datadir%';
+---------------+--------------+
| Variable_name | Value |
+---------------+--------------+
| datadir | /data/mysql/ |
+---------------+--------------+
1 row in set (0.01 sec)
我的 binlog 的基本名称和索引:
mysql> show variables like 'log_bin%';
+---------------------------------+-------------------------------+
| Variable_name | Value |
+---------------------------------+-------------------------------+
| log_bin | ON |
| log_bin_basename | /data/mysql/binlogs |
| log_bin_index | /data/mysql/mysqlmaster.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
+---------------------------------+-------------------------------+
5 rows in set (0.01 sec)
my.cnf的内容:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
#validate_password
validate_password.policy=1
validate_password.length=8
validate_password.number_count=1
validate_password.mixed_case_count=1
validate_password.special_char_count=1
validate_password.check_user_name=1
#datadir
datadir = /data/mysql
#binlog
log_bin = binlogs
log_bin_index = mysqlmaster.index
server_id = 100
现在我想设置
log_bin = /data/mysql/binlogs/mysqlmaster
log_bin_index = /data/mysql/binlogs/mysqlmaster.index
但是当我在 my.cnf 中配置此内容时:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
#validate_password
validate_password.policy=1
validate_password.length=8
validate_password.number_count=1
validate_password.mixed_case_count=1
validate_password.special_char_count=1
validate_password.check_user_name=1
#datadir
datadir = /data/mysql
#binlog
log_bin = /data/mysql/binlogs/mysqlmaster
log_bin_index = /data/mysql/binlogs/mysqlmaster.index
server_id = 100
然后我启动 mysql 服务器:
it@mysqlmaster:~$ sudo service mysql start
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.
命令“journalctl -xe”显示:
it@mysqlmaster:~$ journalctl -xe
-- Unit mysql.service has failed.
--
-- The result is RESULT.
May 01 00:32:24 mysqlmaster systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit mysql.service has begun starting up.
May 01 00:32:24 mysqlmaster audit[11816]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" nam
May 01 00:32:24 mysqlmaster kernel: audit: type=1400 audit(1619829144.154:234): apparmor="STATUS" operation="profile_replace" info="same as current profile,
May 01 00:32:24 mysqlmaster systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
May 01 00:32:24 mysqlmaster systemd[1]: mysql.service: Failed with result 'exit-code'.
May 01 00:32:24 mysqlmaster systemd[1]: Failed to start MySQL Community Server.
-- Subject: Unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit mysql.service has failed.
--
-- The result is RESULT.
May 01 00:32:32 mysqlmaster sudo[11467]: pam_unix(sudo:session): session closed for user root
May 01 00:32:34 mysqlmaster sudo[11829]: it : TTY=pts/0 ; PWD=/home/it ; USER=root ; COMMAND=/usr/sbin/service mysql start
May 01 00:32:34 mysqlmaster sudo[11829]: pam_unix(sudo:session): session opened for user root by it(uid=0)
May 01 00:32:35 mysqlmaster systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit mysql.service has begun starting up.
May 01 00:32:35 mysqlmaster audit[11909]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" nam
May 01 00:32:35 mysqlmaster kernel: audit: type=1400 audit(1619829155.626:235): apparmor="STATUS" operation="profile_replace" info="same as current profile,
May 01 00:32:36 mysqlmaster systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
May 01 00:32:36 mysqlmaster systemd[1]: mysql.service: Failed with result 'exit-code'.
May 01 00:32:36 mysqlmaster systemd[1]: Failed to start MySQL Community Server.
-- Subject: Unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit mysql.service has failed.
--
-- The result is RESULT.
May 01 00:32:36 mysqlmaster sudo[11829]: pam_unix(sudo:session): session closed for user root
所以我的问题是我是否要设置:
log_bin = /data/mysql/binlogs/mysqlmaster
log_bin_index = /data/mysql/binlogs/mysqlmaster.index
我应该在 my.cnf 中添加什么来实现我的目标?
现在我解决我的问题:
root@mysqlmaster:/data/mysql# ls -l
total 176648
-rw-r----- 1 mysql mysql 56 Apr 28 03:24 auto.cnf
-rw-r----- 1 mysql mysql 474 Apr 28 03:24 binlog.000001
-rw-r----- 1 mysql mysql 156 Apr 30 00:45 binlog.000002
-rw-r----- 1 mysql mysql 469 Apr 30 02:52 binlog.000003
-rw-r----- 1 mysql mysql 179 Apr 30 03:09 binlog.000004
-rw-r----- 1 mysql mysql 179 Apr 30 03:16 binlog.000005
-rw-r----- 1 mysql mysql 179 Apr 30 14:49 binlog.000006
-rw-r----- 1 mysql mysql 179 Apr 30 14:59 binlog.000007
-rw-r----- 1 mysql mysql 112 Apr 30 14:59 binlog.index
drwxr-xr-x 2 root root 4096 Apr 30 07:33 binlogs
然后我这样做:
root@mysqlmaster:/data/mysql# chown -R mysql:mysql binlogs
现在好啦:
ankon@mysqlmaster:~$ sudo service mysql start
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.