3、MySQL 8.0.20在Linux(centos 8)上搭建主从复制
生活随笔
收集整理的這篇文章主要介紹了
3、MySQL 8.0.20在Linux(centos 8)上搭建主从复制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1 Master上配置
- 1.1 配置Master庫的/etc/my.cnf
- 1.2 主要配置
- 2 Slave上配置
- 2.1 配置Slave庫的/etc/my.cnf
- 2.2 主要配置
- 3 Master上創建用于主從復置的賬號
- 4 Slave上設置從庫向主庫同步
- 5 創建數據庫數據表
1 Master上配置
創建2個Mysql 數據庫服務,并啟動兩個Mysql服務
1.1 配置Master庫的/etc/my.cnf
[mysqld] bind-address = 0.0.0.0 basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql port=3306 # 修改加密方式(8.0+關鍵配置) default_authentication_plugin = mysql_native_password# Master # 開啟日志 log-bin = mysql-bin # 日志格式按行同步 binlog-format = ROW # 設置服務id,主從不能一致 server-id = 1 # 設置需要同步的數據庫 binlog-do-db = testdb # 設置忽略系統庫同步 binlog-ignore-db = mysql binlog-ignore-db = information_schema binlog-ignore-db = performance_schema binlog-ignore-db = sys# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0#character config1.2 主要配置
# Master # 開啟日志 log-bin = mysql-bin # 日志格式按行同步 binlog-format = ROW # 設置服務id,主從不能一致 server-id = 1 # 設置需要同步的數據庫 binlog-do-db = testdb # 設置忽略系統庫同步 binlog-ignore-db = mysql binlog-ignore-db = information_schema binlog-ignore-db = performance_schema binlog-ignore-db = sys2 Slave上配置
2.1 配置Slave庫的/etc/my.cnf
[mysqld] bind-address = 0.0.0.0 basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql port=3306 # 修改加密方式(8.0+關鍵配置) default_authentication_plugin = mysql_native_password# Slave # 開啟日志 log-bin = mysql-bin # 日志按照行進行數據同步 binlog-format = ROW # 設置服務id,主從不能一致 server-id = 2 # 設置需要同步的數據庫 replicate-do-db = testdb# 設置忽略系統庫 replicate-ignore-db = mysql replicate-ignore-db = information_schema replicate-ignore-db = performance_schema replicate-ignore-db = sys# 設置忽略系統庫 # binlog-ignore-db = mysql # binlog-ignore-db = information_schema # binlog-ignore-db = performance_schema # binlog-ignore-db = sys# 設置忽略系統庫所有表 #replicate_wild_ignore_table = mysql.% #replicate_wild_ignore_table = information_schema.% #replicate_wild_ignore_table = performance_schema.% #replicate_wild_ignore_table = sys.%# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0# #character config character_set_server=utf8mb4# [mysqld_safe] log-error=/usr/local/mysql/data/mysql.log pid-file=/usr/local/mysql/data/mysql.pid# MySQL兼容問題,需要修改數據庫的認證方式 # MySQL8.0版本默認的認證方式是caching_sha2_password # MySQL5.7版本則為mysql_native_password # default_authentication_plugin=mysql_native_password# include all files from the config directory !includedir /etc/my.cnf.d2.2 主要配置
# Slave # 開啟日志 log-bin = mysql-bin # 日志按照行進行數據同步 binlog-format = ROW # 設置服務id,主從不能一致 server-id = 2# 設置需要同步的數據庫 replicate-do-db = testdb# 設置忽略系統庫 replicate-ignore-db = mysql replicate-ignore-db = information_schema replicate-ignore-db = performance_schema replicate-ignore-db = sys3 Master上創建用于主從復置的賬號
mysql -uroot -p123456 -h192.168.124.12 CREATE USER 'sync'@'%' IDENTIFIED WITH mysql_native_password BY '123456';# 授權主備復制專用賬號 GRANT REPLICATION SLAVE ON *.* TO 'sync'@'%';#顯示賬戶的權限 show grants for sync;# 刷新權限 flush privileges;# 確認位點,記錄下文件名及位點 show master status;4 Slave上設置從庫向主庫同步
# 首先切換到從庫登錄 mysql -uroot -p123456 -h192.168.124.11 -P3306 # 先停止同步 stop slave;# 修改從庫指向到主庫,使用上一步記錄的文件名以及位點 CHANGE MASTER TO master_host='192.168.124.12', master_port=3306, master_user='sync', master_password='123456', master_log_file='mysql-bin.000011', master_log_pos=3214;# 啟動同步 start slave;# 查看slave 的狀態 show slave status;
需要注意的是上方的兩個字段都為YES才算成功。
5 創建數據庫數據表
CREATE SCHEMA `testdb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ; CREATE TABLE `testdb`.`t_user` (`id` BIGINT NOT NULL,`name` VARCHAR(45) NOT NULL,`age` INT NOT NULL,PRIMARY KEY (`id`)) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;需要注意的是兩邊的數據庫和表要使用相同的字符集編碼
總結
以上是生活随笔為你收集整理的3、MySQL 8.0.20在Linux(centos 8)上搭建主从复制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5、ShardingSphere 之 公
- 下一篇: 4、Mysql 主从复制报错[ERROR