亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Mysql5.5版本的一主多從配置講義

發布時間:2020-04-23 14:14:54 來源:億速云 閱讀:209 作者:三月 欄目:數據庫

本文主要給大家介紹Mysql5.5版本的一主多從配置講義,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。


1)實驗拓撲信息

Mysql5.5版本的一主多從配置講義

mysql版本:5.5.32(基于源代碼安裝)

系統版本:CentOS6.7

10.10.10.129: mysql的主云服務器

10.10.10.130: mysql的從服務器

目的:

本地主從:

10.10.10.129 3306 --> 10.10.10.10.129 3307

異地主從:

10.10.10.129 3306 --> 10.10.10.10.130 3306


2)主庫上的配置

a、準備mysql的測試環境

先準備好mysql多實例環境,之前我已經寫過博客,這里就不重復了,可以參考http://molewan.blog.51cto.com/287340/1860198


b、在主庫(10.10.10.129)上開啟binlog記錄功能

# grep server-id /data/3306/my.cnf 
server-id = 1
# grep server-id /data/3307/my.cnf 
server-id = 3
# grep log-bin /data/3306/my.cnf 
log-bin = /data/3306/mysql-bin

登陸數據庫進行查看:

# mysql -u root -S /data/3306/mysql.sock -predhat12345
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.01 sec)

c、建立用于主從復制的賬號

# mysql -u root -S /data/3306/mysql.sock -predhat12345
mysql> grant replication slave on *.* to 'rep'@'10.10.10.%' identified by 'redhat12345';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+------------+
| user | host       |
+------+------------+
| wan  | %          |
| rep  | 10.10.10.% |
| wan  | 10.10.10.% |
| root | 127.0.0.1  |
| root | ::1        |
|      | C67-X64-A8 |
| root | C67-X64-A8 |
|      | localhost  |
| root | localhost  |
+------+------------+
9 rows in set (0.00 sec)
mysql> select user,host from mysql.user where user='rep';
+------+------------+
| user | host       |
+------+------------+
| rep  | 10.10.10.% |
+------+------------+
1 row in set (0.00 sec)

d、實現對主數據庫鎖表只讀(當前窗口不要關閉

mysql> flush table with read lock;
Query OK, 0 rows affected (0.00 sec)
重新打開一個窗口,鎖表后查看主庫狀態:
# mysql -uroot -S /data/3306/mysql.sock -predhat12345
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      337 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

e、使用mysqldump進行數據庫備份:

# mysqldump -uroot -p'redhat12345' -S /data/3306/mysql.sock --events -A -B |gzip >/mysqlback/mysql_bak.$(date +%F).sql.gz
# echo $?
0
# ls -l /mysqlback/
總用量 144
-rw-r--r-- 1 root root 144402 10月  9 02:54 mysql_bak.2016-10-09.sql.gz
# du -sh /mysqlback/mysql_bak.2016-10-09.sql.gz 
144K/mysqlback/mysql_bak.2016-10-09.sql.gz
為了確保導出數據期間,數據庫沒有數據插入,導庫完畢可以再次檢查主庫狀態信息
# mysql -uroot -S /data/3306/mysql.sock -predhat12345 -e "show master status"
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      337 |              |                  |
+------------------+----------+--------------+------------------+

f、導出數據完畢后,解鎖主庫,恢復可寫

mysql> unlock tables;
Query OK, 0 rows affected (0.01 sec)

3)從庫上的配置

a、10.10.10.129 3307數據庫上的配置

# cd /mysqlback/
# ls
mysql_bak.2016-10-09.sql.gz
# gzip -d mysql_bak.2016-10-09.sql.gz 
# ls
mysql_bak.2016-10-09.sql
# mysql -uroot -p'redhat12345' -S /data/3307/mysql.sock </mysqlback/mysql_bak.2016-10-09.sql 
# echo $?
0
# mysql -uroot -S /data/3307/mysql.sock -p'redhat12345'<<EOF
change master to
master_host='10.10.10.129',
master_port=3306,
master_user='rep',
master_password='redhat12345',
master_log_file='mysql-bin.000004',
master_log_pos=337;
EOF
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.10.10.129
                  Master_User: rep
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 337
               Relay_Log_File: relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: mysql
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 337
              Relay_Log_Space: 403
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.00 sec)
ERROR: 
No query specified

主從復制是否成功,最關鍵的為下面的3項狀態參數:

# mysql -uroot -predhat12345 -S /data/3307/mysql.sock -e "show slave status\G"|egrep "IO_Running|SQL_Running|_Behind_Master"
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        Seconds_Behind_Master: 0

b、10.10.10.130 3306數據庫上的配置

# mkdir -p /mysqlback/
# scp /mysqlbackup/mysql_bak.2016-10-09.sql.gz 10.10.10.130:/mysqlback
# gzip -d mysql_bak.2016-10-09.sql.gz 
# ls
mysql_bak.2016-10-09.sql
# mysql -uroot -p'redhat12345' -S /data/3306/mysql.sock </mysqlback/mysql_bak.2016-10-09.sql 
# echo $?
0
# mysql -uroot -S /data/3306/mysql.sock -p'redhat12345'<<EOF
change master to
master_host='10.10.10.129',
master_port=3306,
master_user='rep',
master_password='redhat12345',
master_log_file='mysql-bin.000004',
master_log_pos=337;
EOF
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.10.10.129
                  Master_User: rep
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 337
               Relay_Log_File: relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: mysql
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
 Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 337
              Relay_Log_Space: 403
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
        Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
        Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.00 sec)
ERROR: 
No query specified

在10.10.10.130服務器上檢查

主從復制是否成功,最關鍵的為下面的3項狀態參數:

# mysql -uroot -predhat12345 -S /data/3306/mysql.sock -e "show slave status\G"|egrep "IO_Running|SQL_Running|_Behind_Master"
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        Seconds_Behind_Master: 0

4)mysql主從同步測試

在10.10.10.129上查看數據庫:

[root@mysql-master ~]# mysql -uroot -predhat12345 -S /data/3306/mysql.sock -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dawnpro            |
| eip                |
| ems                |
| hangzhou_dawnpro   |
| mysql              |
| performance_schema |
| wh610              |
+--------------------+
[root@mysql-master ~]# mysql -uroot -predhat12345 -S /data/3307/mysql.sock -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dawnpro            |
| eip                |
| ems                |
| hangzhou_dawnpro   |
| mysql              |
| performance_schema |
| wh610              |
+--------------------+

在10.10.10.130上查看數據庫:

[root@mysql-slave mysqlbackup]# mysql -uroot -predhat12345 -S /data/3306/mysql.sock -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dawnpro            |
| eip                |
| ems                |
| hangzhou_dawnpro   |
| mysql              |
| performance_schema |
| wh610              |
+--------------------+

通過對比,可以發現,數據庫完全一致,然后我們在主庫上新建一個blog的數據庫

[root@mysql-master mysqlback]# mysql -uroot -predhat12345 -S /data/3307/mysql.sock -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog               |
| dawnpro            |
| eip                |
| ems                |
| hangzhou_dawnpro   |
| mysql              |
| performance_schema |
| wh610              |
+--------------------+
[root@mysql-slave mysqlbackup]# mysql -uroot -predhat12345 -S /data/3306/mysql.sock -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog               |
| dawnpro            |
| eip                |
| ems                |
| hangzhou_dawnpro   |
| mysql              |
| performance_schema |
| wh610              |
+--------------------+
主從同步到此完成

5)注意事項

1)master與slave中的server-id要保持唯一
2)備份導出前要使用“flush table with read lock;”讓數據庫鎖表只讀,并且這個窗口不要關閉
3)slave上要start slave;接收信息
4)master與slave時間要保持一致

看了以上關于Mysql5.5版本的一主多從配置講義,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延寿县| 大安市| 扶风县| 海安县| 卢龙县| 开江县| 黄冈市| 祁门县| 昌平区| 南部县| 绥芬河市| 威远县| 门头沟区| 龙海市| 易门县| 怀宁县| 蒙自县| 北宁市| 章丘市| 咸阳市| 白沙| 沂南县| 筠连县| 庄浪县| 明星| 石泉县| 攀枝花市| 米易县| 饶平县| 鲁山县| 安福县| 车险| 虞城县| 厦门市| 蒙自县| 南漳县| 酉阳| 铜陵市| 措勤县| 天台县| 六枝特区|