溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

?MySQL數(shù)據(jù)庫5.6.16.主從復(fù)制如何搭建及配置

發(fā)布時間:2020-05-23 16:26:07 來源:網(wǎng)絡(luò) 閱讀:246 作者:三月 欄目:數(shù)據(jù)庫

下面一起來了解下MySQL數(shù)據(jù)庫5.6.16.主從復(fù)制如何搭建及配置,相信大家看完肯定會受益匪淺,文字在精不在多,希望MySQL數(shù)據(jù)庫5.6.16.主從復(fù)制如何搭建及配置這篇短內(nèi)容是你想要的。

MySQL數(shù)據(jù)庫5.6.16.主從復(fù)制

1.環(huán)境:

基于虛擬機,所以直接克隆一臺同樣的虛擬機操作

從庫:

[root@slave ~]# ifconfig eth0|awk -F '[ :]+''NR==2{print $4}';ifconfig eth2|awk -F '[ :]+' 'NR==2{print $4}'

192.168.56.42

172.16.1.42

/etc/init.d/iptables stop

或者:

Vim /etc/sysconfig/iptable

-A INPUT -m state --state NEW -m tcp -p tcp --dport3306 -j ACCEPT

主庫:要記錄bin_log,

[root@master ~]# cat -n /etc/my.cnf|sed -n '41p'

    41     log_bin = /home/mysql/data/binlog/mysql-bin

保證server_id數(shù)值和主庫的不一樣。

[root@slave ~]# cat -n /etc/my.cnf|sed -n '11p'

    11     server_id = 101

注意:云服務(wù)器的主機名不要隨意變動,否則導(dǎo)致MySQL服務(wù)重新啟動會報錯,必須殺當(dāng)前的MySQL掉進(jìn)程,然后再restart啟動MySQL服務(wù)

mysql 5.6的復(fù)制引入了uuid的概念,各個復(fù)制結(jié)構(gòu)中的server_uuid得保證不一樣,但是查看到直接copy  data文件夾后server_uuid是相同的,show variables like ‘%server_uuid%’;

同時要保證主從數(shù)據(jù)庫的auto.cnf中數(shù)值不一樣,同時必須保證兩臺主從的機器的防火墻都必須是關(guān)閉的。

修改兩臺云服務(wù)器上的文件/data/mysql/data/auto.cnf然后重啟數(shù)據(jù)庫服務(wù)就ok了

負(fù)責(zé)會報錯:1593

Last_IO_Error: Fatal error: The slave I/O threadstops because master and slave have equal MySQL server UUIDs; these UUIDs mustbe different for replication to work.

以及報錯:2003原因是防火墻沒有關(guān)閉。Change  master 時密碼輸入錯誤導(dǎo)致。

 Last_IO_Error: error connecting to master 'rep@172.16.1.41:3306' -retry-time: 60  retries: 1

提示:必須保證兩臺的云服務(wù)器的時間是一致的,要適時更新時間并且寫入定時任務(wù)

Crontab -l

###time sync###by wujianwei at 2016-5-19

*/5 * * * * /usr/sbin/ntpdatentp1.aliyun.com &>/dev/null

搭建一主多從數(shù)據(jù)庫時報錯:

在從庫操操作:

mysql> start slave;

ERROR 1201 (HY000): Could not initialize masterinfo structure; more error messages can be found in the MySQL error log

mysql> show slave status\G

  Last_Errno:1872

                  Last_Error: Slave failed to initialize relay log info structure from therepository

在一臺主機上增加一個slave,啟動的時候報

[ERROR] Slave SQL: Slave failed toinitialize relay log info structure from the repository, Error_code: 1872

原因:檢查my.cnf,原來沒指定relay_log,mysql默認(rèn)產(chǎn)生的relay_log名被該server上的另一個mysql slave占用了。

原因是:從庫的my.cnf配置文件中沒有加入?yún)?shù)

relay_log=/data/mysql/data/relay-log/mysql-relay-bin

1.stop slave;

2. reset slave;

mysql>reset slave

3.mysql>change master to

4.start slave

2.主從環(huán)境搭建配置步奏:

1.master主庫操作:

/etc/init.d/iptables stop

或者:

vim /etc/sysconfig/iptable

-A INPUT -m state --state NEW -m tcp -p tcp --dport3306 -j ACCEPT

echo "log_bin =/home/mysql/data/binlog/mysql-bin" /etc/my.cnf

sed -i 's#server_id = 100#server_id = 1#g'/etc/my.cnf

mkdir /home/mysql/data/binlog/ -p

chown mysql.mysql /home/mysql/data/binlog

mysql -uroot -p123456 -e "grant replicationslave on *.* to rep@'172.16.1.%' identified by '111111'; flush privileges "

mysqldump -uroot -p123456 -B -A -F -R -x--master-data=1  --events|gzip>/backup/rep_$(date +%F).sql.gz

mysqldump -uroot -p123456 -B -A -F -R -x--master-data=1  --events|gzip>/backup/rep_$(date +%F).sql.gz

  mysql-uroot -p123456 -e "show master status;"

scp -rp -P22 /backup/rep_2016-08-18.sql.gz root@172.16.1.42:/backup/

2從庫操作:mysql-5.6s1

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT

sed -i 's#server_id = 100#server_id = 2#g' /etc/my.cnf

gzip -d /backup/rep_2016-08-18.sql.gz

mysql -uroot -p123456 </backup/rep_2016-08-18.sql

mysql -uroot -p123456 -e "CHANGE MASTERTO MASTER_HOST='172.16.1.41',MASTER_PORT=3306,MASTER_USER='rep',MASTER_PASSWORD='111111';startslave;show slave status\G" |grep -i "yes"

3.一組多從數(shù)據(jù)庫配置mysql-5.6s2

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT

sed -i 's#server_id = 100#server_id = 3#g'/etc/my.cnf

vim /data/mysql/data/auto.cnf

/etc/init.d/mysqld restart

gzip -d rep_2016-08-18.sql.gz

mysql -uroot -p123456 </backup/rep_2016-08-18.sql

mysql -uroot -p123456 -e "showdatabases;"

mysql -uroot -p123456 -e "CHANGE MASTERTO MASTER_HOST='172.16.1.41',MASTER_PORT=3306,MASTER_USER='rep',MASTER_PASSWORD='111111';startslave;show slave status\G" |grep -i "yes"

1.演示:

Master:

mysql -uroot -p123456 -e "create databasewjw05"

mysql> use wjw01;

mysql> CREATE table `t1` (`id` bigint(12) NOTNULL auto_increment,`name` varchar(12) NOT NULL,PRIMARY KEY (`id`) );

mysql> INSERT INTO t1(name) values('oldboy');

slave:

mysql -uroot -p123456 -e "showdatabases"|grep wjw05

mysql -uroot -p123456 -e "showdatabases"|grep wjw05

mysql -uroot -p123456 -e "desc wjw01.t1"

mysql -uroot -p123456 -e "select * fromwjw01.t1"

看完MySQL數(shù)據(jù)庫5.6.16.主從復(fù)制如何搭建及配置這篇文章后,很多讀者朋友肯定會想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI