最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ubuntu 16.04配置MySQL主從同步的配置方法

 更新時(shí)間:2018年03月30日 10:56:38   作者:默默的點(diǎn)滴  
這篇文章主要介紹了ubuntu 16.04配置MySQL主從同步的配置方法,需要的朋友可以參考下

準(zhǔn)備工作

1.主從數(shù)據(jù)庫(kù)版本最好一致

2.主從數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)保持一致

主數(shù)據(jù)庫(kù):121.199.27.227 /ubuntu 16.04 MySQL 5.7.21 ( 阿里云 )

從數(shù)據(jù)庫(kù):182.254.149.39 /ubuntu 16.04 MySQL 5.7.21 ( 騰訊云 )

防火墻配置

配置主服務(wù)器只允許特定 IP 訪問(wèn)數(shù)據(jù)庫(kù)的端口,避免不必要的攻擊。

主庫(kù)防火墻配置

# iptables -A INPUT -p tcp -s slave_ip --dport 3306 -j ACCEPT
#刪除可能已經(jīng)存在的配置,避免出現(xiàn)多條重復(fù)記錄
$ sudo iptables -D INPUT -p tcp -s 182.254.149.39 --dport 3306 -j ACCEPT 
$ sudo iptables -D INPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT 
$ sudo iptables -D INPUT -p tcp --dport 3306 -j DROP 
$ sudo iptables -D INPUT -p udp --dport 3306 -j DROP 
$ sudo iptables -D INPUT -p sctp --dport 3306 -j DROP
#增加配置,只允許特定地址訪問(wèn)數(shù)據(jù)庫(kù)端口
$ sudo iptables -A INPUT -p tcp -s 182.254.149.39 --dport 3306 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
$ sudo iptables -A INPUT -p udp --dport 3306 -j DROP
$ sudo iptables -A INPUT -p sctp --dport 3306 -j DROP
$ sudo iptables -L -n
#保存配置
$ sudo apt-get install iptables-persistent
$ sudo netfilter-persistent save
#配置被保存到/etc/iptables/rules.v4 /etc/iptables/rules.v6這兩個(gè)文件下面,
#最好確認(rèn)一下實(shí)際保存的內(nèi)容,尤其是安裝了denyhosts等其他安全軟件的情況下,
#可能會(huì)記錄了多余的規(guī)則,需要手工刪除
從庫(kù)防火墻配置
# iptables -A OUTPUT -p tcp -d master_ip --dport 3306 -j ACCEPT
#刪除可能已經(jīng)存在的配置,避免出現(xiàn)多條重復(fù)記錄
$ sudo iptables -D OUTPUT -p tcp -d 121.199.27.227 --dport 3306 -j ACCEPT
#增加配置
$ sudo iptables -A OUTPUT -p tcp -d 121.199.27.227 --dport 3306 -j ACCEPT
$ sudo iptables -L -n
#保存配置
$ sudo apt-get install iptables-persistent
$ sudo netfilter-persistent save
#配置被保存到/etc/iptables/rules.v4 /etc/iptables/rules.v6這兩個(gè)文件下面,
#最好確認(rèn)一下實(shí)際保存的內(nèi)容,尤其是安裝了denyhosts等其他安全軟件的情況下,
#可能會(huì)記錄了多余的規(guī)則,需要手工刪除

主數(shù)據(jù)庫(kù)master配置

1.修改mysql配置

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]部分進(jìn)行如下修改:

[mysqld]
log-bin = /var/log/mysql/mysql-bin.log #開(kāi)啟二進(jìn)制日志,默認(rèn)是注釋掉的,我們?nèi)サ糇⑨?
server-id = 1 #設(shè)置server-id
bind-address = 0.0.0.0 #默認(rèn)是127.0.0.1,此處我們?cè)O(shè)置為任意地址,放開(kāi)遠(yuǎn)程訪問(wèn),這么操作之前一定要確保防火墻配置正確,否則會(huì)產(chǎn)生安全風(fēng)險(xiǎn)

2.重啟mysql,創(chuàng)建用于同步的用戶賬號(hào)

創(chuàng)建用戶并授權(quán):用戶:repl 密碼:slavepass

$ sudo service mysql restart
$ mysql -u root -p -e "CREATE USER 'repl'@'182.254.149.39' IDENTIFIED BY 'slavepass';" #創(chuàng)建用戶
$ mysql -u root -p -e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'182.254.149.39';" #分配權(quán)限
$ mysql -u root -p -e "flush privileges;" #刷新權(quán)限

3.查看master狀態(tài),記錄二進(jìn)制文件名(mysql-bin.000001)和位置(333802):

$ mysql -u root -p -e "SHOW MASTER STATUS;"
Enter password: 
+------------------+----------+--------------+------------------+-------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |  333802 |       |         |          |
+------------------+----------+--------------+------------------+-------------------+

4.主庫(kù)備份,為從庫(kù)的第一次數(shù)據(jù)同步準(zhǔn)備數(shù)據(jù)

使用如下腳本產(chǎn)生數(shù)據(jù)庫(kù)備份文件

#此處以備份wordpress數(shù)據(jù)庫(kù)為例子
datadump=`which mysqldump`
mysqluser="root"
userpass="password" 
wordpressdb="wordpress"
backupwordpress_sql=$wordpressdb.`date +%Y%m%d`.sql
if $datadump -u $mysqluser --password=$userpass -h localhost --opt $wordpressdb > $backupwordpress_sql 2>&1
then
  echo " backup $wordpressdb success"
else
  echo " backup $wordpressdb error"
  exit 1
fi
#檢驗(yàn)文件尾部是否存在 “-- Dump completed on”,如果存在不存在,則說(shuō)明備份出錯(cuò)了。
if [ 0 -eq "$(sed '/^$/!h;$!d;g' $backupwordpress_sql | grep -c "Dump completed on")" ]; 
then
 echo " backup $wordpressdb error"
 exit 1 
else
 echo " backup $wordpressdb success"
fi

執(zhí)行腳本,確保最后輸出備份成功

$ cd ~
$ sudo bash backup_wordpress.sh

從服務(wù)器slave配置

1.修改mysql配置

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改server-id,每個(gè)數(shù)據(jù)庫(kù)的server-id要求是唯一的,不能相互沖突

[mysqld]
server-id = 2 #設(shè)置server-id,必須唯一
log_bin         = /var/log/mysql/mysql-bin.log #日志也最好打開(kāi)

2.首次還原數(shù)據(jù)庫(kù):

$ sudo service mysql restart
$ scp -P 22 -r root@121.199.27.227:~/wordpress.*.sql ./
#刪除可能存在的一行警告信息,這行警告信息可能導(dǎo)致我們無(wú)法恢復(fù)數(shù)據(jù)
$ sed -i "/^mysqldump: \[Warning\] Using a password on the command line interface can be insecure\./d" wordpress.*.sql
$ mysql -u root -p -e "drop database wordpress;"
$ mysql -u root -p -e "create database wordpress;"
$ mysql -u root -p wordpress < wordpress.*.sql

3.重啟mysql,打開(kāi)mysql會(huì)話,執(zhí)行同步SQL語(yǔ)句(需要主服務(wù)器主機(jī)名,登陸憑據(jù),二進(jìn)制文件的名稱和位置):

$ mysql -u root -p -e "CHANGE MASTER TO MASTER_HOST='121.199.27.227', MASTER_USER='repl', MASTER_PASSWORD='slavepass', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=333802;"

4.啟動(dòng)slave同步進(jìn)程:

$ mysql -u root -p -e "start slave;"

5.查看slave狀態(tài):

$ mysql -u root -p -e "show slave status\G;"
Enter password:
*************************** 1. row ***************************
        Slave_IO_State: Waiting for master to send event
         Master_Host: 121.199.27.227
         Master_User: repl
         Master_Port: 3306
        Connect_Retry: 60
       Master_Log_File: mysql-bin.000001
     Read_Master_Log_Pos: 9448236
        Relay_Log_File: VM-114-251-ubuntu-relay-bin.000002
        Relay_Log_Pos: 17780
    Relay_Master_Log_File: mysql-bin.000001
       Slave_IO_Running: Yes
      Slave_SQL_Running: No
       Replicate_Do_DB:
     Replicate_Ignore_DB:
      Replicate_Do_Table:
    Replicate_Ignore_Table:
   Replicate_Wild_Do_Table:
 Replicate_Wild_Ignore_Table:
    ...

當(dāng)Slave_IO_Running和Slave_SQL_Running都為YES的時(shí)候就表示主從同步設(shè)置成功了。接下來(lái)就可以進(jìn)行一些驗(yàn)證了,比如在主master數(shù)據(jù)庫(kù)的test數(shù)據(jù)庫(kù)的一張表中插入一條數(shù)據(jù),在slave的test庫(kù)的相同數(shù)據(jù)表中查看是否有新增的數(shù)據(jù)即可驗(yàn)證主從復(fù)制功能是否有效,還可以關(guān)閉slave(mysql>stop slave;),然后再修改master,看slave是否也相應(yīng)修改(停止slave后,master的修改不會(huì)同步到slave),就可以完成主從復(fù)制功能的驗(yàn)證了。

還可以用到的其他相關(guān)參數(shù):

master開(kāi)啟二進(jìn)制日志后默認(rèn)記錄所有庫(kù)所有表的操作,可以通過(guò)配置來(lái)指定只記錄指定的數(shù)據(jù)庫(kù)甚至指定的表的操作,具體在mysql配置文件的[mysqld]可添加修改如下選項(xiàng):

# 不同步哪些數(shù)據(jù)庫(kù) 
binlog-ignore-db = mysql 
binlog-ignore-db = test 
binlog-ignore-db = information_schema 
# 只同步哪些數(shù)據(jù)庫(kù),除此之外,其他不同步 
binlog-do-db = game

如之前查看master狀態(tài)時(shí)就可以看到只記錄了test庫(kù),忽略了manual和mysql庫(kù)。

總結(jié)

以上所述是小編給大家介紹的ubuntu 16.04配置MySQL主從同步的配置方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳細(xì)分析MySQL主從復(fù)制

    詳細(xì)分析MySQL主從復(fù)制

    這篇文章主要介紹了MySQL主從復(fù)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MySQL安裝后不能用是什么情況該如何解決

    MySQL安裝后不能用是什么情況該如何解決

    之前安裝過(guò)MYSQL好像不用手動(dòng)啟動(dòng)服務(wù),具體也忘記了,但我上回給公司安裝的那個(gè)是要手動(dòng)安裝服務(wù)的,如果mysql剛剛安裝不能用,可能是服務(wù)沒(méi)有安裝
    2014-03-03
  • 有關(guān)SQL模糊查詢

    有關(guān)SQL模糊查詢

    在進(jìn)行數(shù)據(jù)庫(kù)查詢時(shí),有完整查詢和模糊查詢之分,這里簡(jiǎn)單介紹下,方便需要的朋友
    2006-12-12
  • VS2022連接數(shù)據(jù)庫(kù)MySQL并進(jìn)行基本的表的操作指南

    VS2022連接數(shù)據(jù)庫(kù)MySQL并進(jìn)行基本的表的操作指南

    鑒于MySQL數(shù)據(jù)庫(kù)的流行與強(qiáng)大,決定多學(xué)習(xí)使用,下面這篇文章主要給大家介紹了關(guān)于VS2022連接數(shù)據(jù)庫(kù)MySQL并進(jìn)行基本的表的操作指南,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • MySQL 隨機(jī)密碼生成代碼

    MySQL 隨機(jī)密碼生成代碼

    晚上有朋友問(wèn)起,簡(jiǎn)單的寫(xiě)了一個(gè)。
    2009-09-09
  • Mysql命令大全(詳細(xì)篇)

    Mysql命令大全(詳細(xì)篇)

    這篇文章主要介紹了Mysql命令大全,這里整理的算是比較詳細(xì)的,需要的朋友可以參考下
    2015-11-11
  • 面試官問(wèn)我Mysql的存儲(chǔ)引擎了解多少

    面試官問(wèn)我Mysql的存儲(chǔ)引擎了解多少

    mysql面試中最常問(wèn)的問(wèn)題之一:小伙子,你說(shuō)一下你們公司用的存儲(chǔ)引擎,以及你知道有哪些存儲(chǔ)引擎和他們之間的區(qū)別? 所以下面這篇文章主要給大家介紹了關(guān)于Mysql存儲(chǔ)引擎的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • MySQL REVOKE實(shí)現(xiàn)刪除用戶權(quán)限

    MySQL REVOKE實(shí)現(xiàn)刪除用戶權(quán)限

    在 MySQL 中,可以使用 REVOKE 語(yǔ)句刪除某個(gè)用戶的某些權(quán)限,本文就詳細(xì)的來(lái)介紹一下REVOKE 的具體使用方法,感興趣的可以了解一下
    2021-06-06
  • linux CentOS6.5 yum安裝mysql5.6

    linux CentOS6.5 yum安裝mysql5.6

    這篇文章主要為大家詳細(xì)介紹了linux CentOS6.5 yum安裝mysql5.6的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • mysql事務(wù)處理用法與實(shí)例代碼詳解

    mysql事務(wù)處理用法與實(shí)例代碼詳解

    這篇文章主要介紹了mysql事務(wù)處理用法與實(shí)例代碼詳解,詳細(xì)的介紹了事物的特性和用法并實(shí)現(xiàn)php和mysql事務(wù)處理例子,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-12-12

最新評(píng)論

长治县| 钦州市| 友谊县| 金湖县| 临江市| 华池县| 嘉峪关市| 平潭县| 治多县| 封丘县| 竹北市| 孙吴县| 汕尾市| 临沧市| 晴隆县| 西乡县| 缙云县| 连平县| 滨海县| 乡宁县| 宁陵县| 江油市| 永康市| 庆城县| 房山区| 清镇市| 白城市| 隆昌县| 兴和县| 二手房| 定陶县| 镇安县| 海晏县| 宁蒗| 澎湖县| 桃园县| 冀州市| 车险| 攀枝花市| 宁武县| 随州市|