簡體   English   中英

如何在mysql 8.0.24社區服務器的my.cnf中配置log_bin和log_bin_index?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM