国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Centos - CentOS服務器平臺搭建mysql主從復制與讀寫分離的方法

CentOS服務器平臺搭建mysql主從復制與讀寫分離的方法

2022-03-08 17:33愛代碼也愛生活 Centos

這篇文章主要介紹了CentOS服務器平臺搭建mysql主從復制與讀寫分離的方法,結合實例形式較為詳細的分析了CentOS平臺搭建mysql主從復制與讀寫分離的步驟、設置方法、相關操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了CentOS服務器搭建mysql主從復制與讀寫分離的方法。分享給大家供大家參考,具體如下:

mysql 主從復制的優點:

① 如果主服務器出現問題, 可以快速切換到從服務器提供的服務,保證高可用性
② 可以在從服務器上執行查詢操作, 降低主服務器的訪問壓力
③ 可以在從服務器上執行備份, 以避免備份期間影響主服務器的服務

注意事項:

① server-id必須唯一,一般使用ip的后三位
② 從庫Slave_IO_Running:NO 可能原因:帳號無權限操作
③ Can't execute the query because you have a conflicting read lock,解鎖下即可 unlock tables;
④ 一般只有更新不頻繁的數據或者對實時性要求不高的數據可以通過從服務器查詢, 實時性要求高的數據仍然需要從主數據庫獲得
⑤ 修改完主從服務器的配置需要重啟mysql:service mysqld restart

主機A: 192.168.10.111
從機B: 192.168.10.124

請先分別安裝mysql,版本需一致,裝了即可跳過

 

復制代碼 代碼如下:
yum install mysql mysql-server #輸入y即可自動安裝,直到安裝完成

 

1、先登錄主機 A,在主服務器上,設置一個從數據庫的賬戶,使用REPLICATION SLAVE(從復制)賦予權限,如:

復制代碼 代碼如下:
mysql>GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.10.124' IDENTIFIED BY '123456'

 

賦予從機權限,有多臺從機,就執行多次。

?
1
mysql>flush privileges;

2、 打開主機A的my.cnf,輸入如下:(修改主數據庫的配置文件my.cnf,開啟BINLOG,并設置server-id的值,修改之后必須重啟mysql服務)

?
1
2
3
4
5
server-id        = 1  #主機標示,整數
log_bin         = /var/log/mysql/mysql-bin.log  #確保此文件可寫,開啟bin-log
read-only       =0 #主機,讀寫都可以
binlog-do-db     =test  #需要備份數據,多個寫多行
binlog-ignore-db  =mysql #不需要備份的數據庫,多個寫多行

可以通過mysql>show variables like 'log_%'; 驗證二進制日志是否已經啟動。 

3、現在可以停止主數據的的更新操作,并生成主數據庫的備份,我們可以通過mysqldump到處數據到從數據庫,當然了,你也可以直接用cp命令將數據文件復制到從數據庫去,注意在導出數據之前先對主數據庫進行READ LOCK,以保證數據的一致性

?
1
2
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.19 sec)

然后mysqldump導出數據:

復制代碼 代碼如下:
mysqldump -h127.0.0.1 -p3306 -uroot -p test > /data/backup/test.sql

 

4、得到主服務器當前二進制日志名和偏移量,這個操作的目的是為了在從數據庫啟動后,從這個點開始進行數據的恢復。

?
1
2
3
4
5
6
7
mysql> show master status;
+------------------+----------+--------------+------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000007 |   517 | test     | mysql      |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

最好在主數據庫備份完畢,恢復寫操作。

?
1
2
mysql> unlock tables;
Query OK, 0 rows affected (0.28 sec)

5、將剛才主數據備份的test.sql復制到從數據庫(navicat、phpmyadmin、命令行都可以),進行導入。

6、修改從數據庫的my.cnf,增加server-id參數,指定復制使用的用戶,主數據庫服務器的ip,端口以及開始執行復制日志的文件和位置。打開從機B的my.cnf,輸入(修改之后必須重啟mysql服務)

?
1
2
3
4
5
6
7
8
9
server-id    = 2
log_bin     = /var/log/mysql/mysql-bin.log
master-host   =192.168.10.111
master-user   =backup
master-pass   =123456
master-port   =3306
master-connect-retry=60 #如果從服務器發現主服務器斷掉,重新連接的時間差(秒)
replicate-do-db =test #只復制某個庫
replicate-ignore-db=mysql #不復制某個庫

7、在從服務器上,啟動slave進程

?
1
mysql> start slave;

8、在從服務器進行show salve status驗證

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
        Slave_IO_State: Waiting for master to send event
         Master_Host: 192.168.10.111
         Master_User: root
         Master_Port: 3306
        Connect_Retry: 5
       Master_Log_File: mysql-bin.000007
     Read_Master_Log_Pos: 263
        Relay_Log_File: mysqld-relay-bin.000002
        Relay_Log_Pos: 408
    Relay_Master_Log_File: mysql-bin.000007
       Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
       Replicate_Do_DB: test
     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: 263
       Relay_Log_Space: 564
       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:
1 row in set (0.00 sec)

提示

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

說明配置成功了

9、測試主從服務器是否能同步

插入 修改 刪除 增加字段 修改字段 增加表自己測試都可以

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[xjp@server22 ~]$mysql -uroot -p123456
mysql> create database test;
mysql> create table user(id int);
mysql> insert into user values(1),(2),(3),(4),(5),(6);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from user;
+----+
| id |
+----+
| 1 |
| 2 |
+----+
2rows in set (0.00 sec)
mysql> select * from user;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+----+
6 rows in set (0.00 sec)
mysql> update user set id=11 where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from user;
+----+
| id |
+----+
| 11 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+----+
6 rows in set (0.00 sec)
mysql> delete from user where id=2;
Query OK, 1 row affected (0.00 sec)
mysql> select * from user;
+----+
| id |
+----+
| 11 |
| 3 |
| 4 |
| 5 |
| 6 |
+----+
5 rows in set (0.00 sec)
mysql> alter table user add name varchar(50);
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select * from user;
+----+------+
| id | name |
+----+------+
| 11 | NULL |
| 3 | NULL |
| 4 | NULL |
| 5 | NULL |
| 6 | NULL |
+----+------+
5 rows in set (0.00 sec)
mysql> ALTER TABLE user MODIFY COLUMN name VARCHAR(200);
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> desc user;
+-------+--------------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id  | int(11)   | NO  |   | NULL  |    |
| name | varchar(200) | YES |   | NULL  |    |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> create table user2(id int);
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| test      |
| user      |
| user2     |
+----------------+
3 rows in set (0.00 sec)
mysql>

在從服務器查看是否同步過來 如果一致說明成功

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
mysql> use test;
Database changed
mysql> select * from user;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+----+
2 rows in set (0.00 sec)
mysql> select * from user;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+----+
6 rows in set (0.00 sec)
mysql> select * from user;
+----+
| id |
+----+
| 11 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+----+
6 rows in set (0.00 sec)
mysql> select * from user;
+----+
| id |
+----+
| 11 |
| 3 |
| 4 |
| 5 |
| 6 |
+----+
5 rows in set (0.00 sec)
mysql> select * from user;
+----+------+
| id | name |
+----+------+
| 11 | NULL |
| 3 | NULL |
| 4 | NULL |
| 5 | NULL |
| 6 | NULL |
+----+------+
5 rows in set (0.00 sec)
mysql> desc user;
+-------+--------------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id  | int(11)   | NO  |   | NULL  |    |
| name | varchar(200) | YES |   | NULL  |    |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| test      |
| user      |
| user2     |
+----------------+
3 rows in set (0.00 sec)
mysql>
mysql binlog日志查看: 
show binlog events\G;
*************************** 12. row ***************************
  Log_name: mysql-bin.000007
    Pos: 985
 Event_type: Query
 Server_id: 1
End_log_pos: 1075
    Info: use `test`; delete from user where id=2
*************************** 13. row ***************************
  Log_name: mysql-bin.000007
    Pos: 1075
 Event_type: Query
 Server_id: 1
End_log_pos: 1175
    Info: use `test`; alter table user add name varchar(50)
*************************** 14. row ***************************
  Log_name: mysql-bin.000007
    Pos: 1175
 Event_type: Query
 Server_id: 1
End_log_pos: 1287
    Info: use `test`; ALTER TABLE user MODIFY COLUMN name VARCHAR(200)
*************************** 15. row ***************************
  Log_name: mysql-bin.000007
    Pos: 1287
 Event_type: Query
 Server_id: 1
End_log_pos: 1376
    Info: use `test`; create table user2(id int)
15 rows in set (0.00 sec)

很早的時候搭建的了,走不少彎路,根據當時記錄的寫了下

希望本文所述對大家CentOS服務器設置有所幫助。

原文鏈接:https://blog.csdn.net/nuli888/article/details/51866388

延伸 · 閱讀

精彩推薦
  • Centoscentos不小心刪除/root目錄該如何解決?

    centos不小心刪除/root目錄該如何解決?

    一些朋友最近在問小編centos不小心刪除/root目錄該如何解決?今天小編就為大家分享centos不小心刪除/root目錄解決辦法;希望對大家會有幫助,有需要的朋友...

    腳本之家8022019-05-29
  • CentosCentos7運用/dev/shm進行網站優化

    Centos7運用/dev/shm進行網站優化

    這篇文章主要介紹了LINUX中Centos7運用/dev/shm進行網站優化相關知識點,對此有興趣的朋友參考學習下。...

    彬菌9912022-03-02
  • Centoscentos 安裝與操作方法

    centos 安裝與操作方法

    這篇文章主要介紹了centos 安裝與操作方法,需要的朋友可以參考下...

    centos之家5272019-07-11
  • CentosCentOS7設置日期和時間方法以及基本概念介紹

    CentOS7設置日期和時間方法以及基本概念介紹

    這篇文章主要介紹了CentOS7設置日期和時間方法以及基本概念介紹,本文講解使用CentOS7中的新命令timedatectl設置日期時間方法,需要的朋友可以參考下 ...

    CentOS之家6522019-09-19
  • CentosCentOS6.5下Redis安裝與配置詳細步驟

    CentOS6.5下Redis安裝與配置詳細步驟

    本篇文章主要介紹了CentOS6.5下Redis安裝與配置詳細步驟,詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。有興趣的可以了解一下。...

    飛流11452021-12-24
  • CentosCentOS下Uptime命令詳解

    CentOS下Uptime命令詳解

    在Linux下,我們可以使用uptime命令,而且此命令不必使用root權限。uptime命令在系統中已經默認安裝了。今天小編為大家帶來的是CentOS下Uptime命令詳解;希望...

    CentOS之家11482019-06-19
  • CentosCentOS 6.6實現永久修改DNS地址的方法

    CentOS 6.6實現永久修改DNS地址的方法

    這篇文章主要介紹了CentOS 6.6實現永久修改DNS地址的方法,涉及針對CentOS配置文件的相關設置技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    Linux社區4472020-08-21
  • CentosCentos 7開啟網卡自動獲取IP的詳細方法

    Centos 7開啟網卡自動獲取IP的詳細方法

    本篇文章主要介紹了Centos 7開啟網卡自動獲取IP的詳細方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    凌鋒8972021-12-29
主站蜘蛛池模板: 人人九九精 | 日韩欧美三级在线观看 | 99久久夜色精品国产亚洲1000部 | 中文日韩在线 | 日韩中文视频 | 色香阁99久久精品久久久 | 久久成人一区二区 | 精品国产乱码久久久久夜 | 婷婷激情综合 | 欧美在线一区二区三区 | 国产一区二区三区在线免费观看 | 81精品国产乱码久久久久久 | 91av免费 | 国产精品国产成人国产三级 | 在线观看不卡 | 自拍偷拍五月天 | 免费黄色av | 亚洲国产精品久久人人爱 | 免费观看欧美一级大片 | 成人看片免费 | 日韩电影免费观看 | 午夜特片 | 日韩高清国产一区在线 | 国产成人三区 | 欧美日韩美女 | 国产精品免费看片 | 日韩国产在线 | 在线国产日韩 | 免费观看av大片 | 欧美成人免费网站 | 国产精品久久久久国产精品 | 国产精品视频久久 | 色综合88| av一区二区三区四区 | 日日夜夜精品免费视频 | 欧美日韩中文字幕在线 | 欧美狠狠干 | 亚洲国产精品成人 | 波多野结衣中文字幕一区二区三区 | 国产精品久久久久白丝呻吟 | 久在线视频 |