MySQL數據庫搭建--(二)服務器之間配置主從

主服務器-my.cnf配置

[mysqld_multi]
mysqld = /home/mysql/bin/mysqld
mysqladmin = /home/mysql/bin/mysqladmin
log = /tmp/mysql_multi.log


[mysqld1]
#skip-grant-tables
skip-name-resolve
datadir = /home/mysql/data1       #設置數據目錄
socket = /tmp/mysql.sock1         #設置sock文件存放路徑
port = 3306                      #設置監聽開放端口 
user = mysql
log-bin=mysql-bin
server-id=1                           #設置運行用戶
relay_log=mysql-relay-bin
performance_schema = off          #關閉監控
innodb_buffer_pool_size = 32M         #設置innodb 緩存大小
bind_address = 0.0.0.0                  #設置監聽IP地址
skip-name-resolve = 0                 #關閉DNS反向解析
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysqld2]
#skip-grant-tables
skip-name-resolve
datadir = /home/mysql/data2
socket = /tmp/mysql.sock2
port = 3307
user = mysql
server-id=2
log-bin=mysql-bin
performance_schema = off
innodb_buffer_pool_size = 32M
bind_address = 0.0.0.0
skip-name-resolve = 0
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

從服務器-my.cnf

[mysql]
#mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=/home/mysql
# 設置mysql數據庫的數據的存放目錄
datadir=/home/mysql/data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認爲8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
server-id   = 150
log-bin=mysql-bin
relay_log=mysql-relay-bin
default-storage-engine=INNODB

lower_case_table_names=1
max_allowed_packet=16M
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

注意:server-id 不可以一樣,注意路徑

啓動MySQL後,進入MySQL設置需要連接主的服務器。查看主服務器的文件及端口

show master status;

在從服務器內對應進行設置


CHANGE MASTER TO MASTER_HOST='192.168.1.169',
MASTER_USER='root',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000022',
MASTER_LOG_POS=6041;

啓動slave

start slave

停止slave

stop slave

查看從服務器效果

show slave status \G;

注意兩個yes,如有問題看下面報錯。

錯誤例子

"Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs;  these UUIDs must be different for replication to work." 
主從服務器中使用了相同的UUID,查看/var/lib/mysql/auto.cnf發現server-uuid一致。刪除重啓mysql

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