Mysql集羣-----(04) Mysql主從複製(讀寫分離)

主(寫)數據庫配置

[client]

# 設置客戶端默認編碼
default-character-set=utf8


[mysqld]
#設置服務端的默認編碼
character_set_server=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# 設置SQL模式,可參考:https://blog.csdn.net/afgasdg/article/details/79807498
# 創建用戶必須要指定密碼,表的引擎不可用則拋出錯誤
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# 開啓二進制日誌
log-bin=master-bin
#使用二進制日誌的索引文件
log-bin-index=master.bin.index
#爲服務器添加唯一的編號
server-id=11
  1. 設置SQL模式 https://blog.csdn.net/afgasdg/article/details/79807498
  2. 查看Mysql編碼命令
mysql> show variables like 'charater%';

從(讀)數據庫配置

[client]
# 指定默認編碼
default-character-set=utf8

[mysqld]

# 服務端默認編碼
character_set_server=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# 創建用戶必須要指定密碼,表的引擎不可用則拋出錯誤
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# 指定從日誌文件
relay-log=slave-relay-log-bin
relay-log-index=slave-relay-log-bin.index
#指定服務器ID
server-id=12

配置步驟

1. 按照上面的配置修改完my.cnf之後重啓mysql

systemctl restart mysqld.service

2. 在主服務器上添加同步用戶

2.1 創建用戶

mysql> create user test;

2.2 設置權限

mysql>  grant replication slave on *.* to test@'%' identified by '123456';

2.3 刷新權限

mysql> flush privileges;

2.4查看master狀態

mysql> SHOW MASTER STATUS;

3. 從服務器配置master信息

3.1 從配置master信息

# 可選參數 master_log_file=日誌文件,master_log_pos=502(日誌文件同步點)
mysql>  change master to master_host='192.168.1.101',master_port=3306,master_user='test',master_password='123456';

具體的change master 語法參看:https://dev.mysql.com/doc/refman/5.7/en/change-master-to.html

3.2 啓動slave

mysql> start slave;

查看配置信息狀態:

mysql>   show slave status\G;

正常結果:

如果無法連接:參考解決方案

測試

1. 主數據庫執行

mysql> create database qqt character set=utf8;

2. 從數據庫執行

mysql> show databases;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章