MySQL 5.5 常用的複製環境管理命令
1、檢查Slave節點的各個狀態
顯示slave執行緒的重要引數。
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.78.139
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000012
Read_Master_Log_Pos: 414
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 560
Relay_Master_Log_File: mysql-bin.000012
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
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: 414
Relay_Log_Space: 717
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: 100
1 row in set (0.00 sec)
Slave_IO_State 這個欄位是SHOW PROCESSLIST輸出結果中State欄位的複製。這個欄位告訴你執行緒正在做什麼。
Slave_IO_Running 指示I/O執行緒是否啟動併成功連線到Master。
Slave_SQL_Running 指示SQL執行緒是否啟動
Last_IO_Errno, Last_IO_Error 導致I/O執行緒停止執行的錯誤號和錯誤日誌,如果Last_IO_Error裡面的值不是空值,則相關的錯誤也會出現在slave節點的錯誤日誌裡。
Last_SQL_Errno, Last_SQL_Error 導致SQL執行緒停止執行的錯誤號和錯誤日誌,錯誤號為0且錯誤日誌為空,說明沒有錯誤。
Seconds_Behind_Master Slave節點與Master節點的延遲時間。當Slave節點正在進行更新操作的時候,這個欄位會顯示Slave節點上面現有時間和Master節點對同一事件處理時間的差異。當Slave節點沒有事件的時候,這個值為0。
Master_Log_File I/O執行緒正在讀取的Master節點的二進位制日誌的名稱
Read_Master_Log_Pos I/O執行緒正在讀取的Master節點的二進位制日誌的位置
Relay_Master_Log_File SQL執行緒最近執行過的event(事件)所在的Master二進位制日誌檔名
Exec_Master_Log_Pos SQL執行緒讀取和執行的Master節點二進位制日誌的位置,下一個事務或事件將從這個位置開始。當你執行CHANGE MASTER TO語句的時候,可以使用這個欄位的值。
Relay_Log_File SQL執行緒正在讀取和執行的relay log名稱
Relay_Log_Pos SQL執行緒正在讀取和執行的relay log的位置
2、顯示執行緒狀態
Master節點的執行緒狀態
mysql> show processlist\G
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Current database: *** NONE ***
*************************** 1. row ***************************
Id: 2
User: repl
Host: 192.168.78.137:42524
db: NULL
Command: Binlog Dump
Time: 63044
State: Master has sent all binlog to slave; waiting for binlog to be updated
Info: NULL
Slave節點的執行緒狀態
mysql> show processlist\G
*************************** 1. row ***************************
Id: 2
User: system user
Host:
db: NULL
Command: Connect
Time: 62933
State: Waiting for master to send event
Info: NULL
*************************** 2. row ***************************
Id: 3
User: system user
Host:
db: NULL
Command: Connect
Time: 62831
State: Slave has read all relay log; waiting for the slave I/O thread to update it
Info: NULL
3、顯示當前有多少個Slave節點註冊到Master節點,在Master節點執行
mysql> SHOW SLAVE HOSTS;
+-----------+------+------+-----------+
| Server_id | Host | Port | Master_id |
+-----------+------+------+-----------+
| 200 | | 3306 | 100 |
+-----------+------+------+-----------+
1 row in set (0.00 sec)
4、停止slave執行緒。執行這個命令需要SUPER許可權。推薦的最佳實踐是在關閉Slave節點資料庫服務之前執行STOP SLAVE這個命令。
mysql> stop slave;
Query OK, 0 rows affected (0.14 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.78.139
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000012
Read_Master_Log_Pos: 414
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 560
Relay_Master_Log_File: mysql-bin.000012
Slave_IO_Running: No
Slave_SQL_Running: No
可以單獨停止某個執行緒
mysql> stop slave io_thread;
Query OK, 0 rows affected (0.00 sec)
5、啟動兩個slave執行緒。I/O執行緒負責從master伺服器中讀取事件(events)並將它們儲存到relay log中。SQL執行緒負責從relay log中讀取事件並執行它們。執行START SLAVE需要SUPER許可權。
mysql> start slave;
Query OK, 0 rows affected (0.08 sec)
mysql> stop slave sql_thread;
Query OK, 0 rows affected (0.00 sec)
可以單獨啟動某個執行緒
mysql> start slave sql_thread;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave io_thread;
Query OK, 0 rows affected (0.00 sec)
顯示slave執行緒的重要引數。
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.78.139
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000012
Read_Master_Log_Pos: 414
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 560
Relay_Master_Log_File: mysql-bin.000012
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
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: 414
Relay_Log_Space: 717
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: 100
1 row in set (0.00 sec)
Slave_IO_State 這個欄位是SHOW PROCESSLIST輸出結果中State欄位的複製。這個欄位告訴你執行緒正在做什麼。
Slave_IO_Running 指示I/O執行緒是否啟動併成功連線到Master。
Slave_SQL_Running 指示SQL執行緒是否啟動
Last_IO_Errno, Last_IO_Error 導致I/O執行緒停止執行的錯誤號和錯誤日誌,如果Last_IO_Error裡面的值不是空值,則相關的錯誤也會出現在slave節點的錯誤日誌裡。
Last_SQL_Errno, Last_SQL_Error 導致SQL執行緒停止執行的錯誤號和錯誤日誌,錯誤號為0且錯誤日誌為空,說明沒有錯誤。
Seconds_Behind_Master Slave節點與Master節點的延遲時間。當Slave節點正在進行更新操作的時候,這個欄位會顯示Slave節點上面現有時間和Master節點對同一事件處理時間的差異。當Slave節點沒有事件的時候,這個值為0。
Master_Log_File I/O執行緒正在讀取的Master節點的二進位制日誌的名稱
Read_Master_Log_Pos I/O執行緒正在讀取的Master節點的二進位制日誌的位置
Relay_Master_Log_File SQL執行緒最近執行過的event(事件)所在的Master二進位制日誌檔名
Exec_Master_Log_Pos SQL執行緒讀取和執行的Master節點二進位制日誌的位置,下一個事務或事件將從這個位置開始。當你執行CHANGE MASTER TO語句的時候,可以使用這個欄位的值。
Relay_Log_File SQL執行緒正在讀取和執行的relay log名稱
Relay_Log_Pos SQL執行緒正在讀取和執行的relay log的位置
2、顯示執行緒狀態
Master節點的執行緒狀態
mysql> show processlist\G
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Current database: *** NONE ***
*************************** 1. row ***************************
Id: 2
User: repl
Host: 192.168.78.137:42524
db: NULL
Command: Binlog Dump
Time: 63044
State: Master has sent all binlog to slave; waiting for binlog to be updated
Info: NULL
Slave節點的執行緒狀態
mysql> show processlist\G
*************************** 1. row ***************************
Id: 2
User: system user
Host:
db: NULL
Command: Connect
Time: 62933
State: Waiting for master to send event
Info: NULL
*************************** 2. row ***************************
Id: 3
User: system user
Host:
db: NULL
Command: Connect
Time: 62831
State: Slave has read all relay log; waiting for the slave I/O thread to update it
Info: NULL
3、顯示當前有多少個Slave節點註冊到Master節點,在Master節點執行
mysql> SHOW SLAVE HOSTS;
+-----------+------+------+-----------+
| Server_id | Host | Port | Master_id |
+-----------+------+------+-----------+
| 200 | | 3306 | 100 |
+-----------+------+------+-----------+
1 row in set (0.00 sec)
4、停止slave執行緒。執行這個命令需要SUPER許可權。推薦的最佳實踐是在關閉Slave節點資料庫服務之前執行STOP SLAVE這個命令。
mysql> stop slave;
Query OK, 0 rows affected (0.14 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.78.139
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000012
Read_Master_Log_Pos: 414
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 560
Relay_Master_Log_File: mysql-bin.000012
Slave_IO_Running: No
Slave_SQL_Running: No
可以單獨停止某個執行緒
mysql> stop slave io_thread;
Query OK, 0 rows affected (0.00 sec)
5、啟動兩個slave執行緒。I/O執行緒負責從master伺服器中讀取事件(events)並將它們儲存到relay log中。SQL執行緒負責從relay log中讀取事件並執行它們。執行START SLAVE需要SUPER許可權。
mysql> start slave;
Query OK, 0 rows affected (0.08 sec)
mysql> stop slave sql_thread;
Query OK, 0 rows affected (0.00 sec)
可以單獨啟動某個執行緒
mysql> start slave sql_thread;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave io_thread;
Query OK, 0 rows affected (0.00 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2090433/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL主從複製環境部署MySql
- Windows 環境下,MySQL 的主從複製和主主複製WindowsMySql
- windows環境下,Mysql的主從複製和主主複製WindowsMySql
- 生產環境中MySQL複製的搭建KPMySql
- 常用環境Docker命令Docker
- 企業環境下MySQL5.5調優MySql
- ubuntu 16.04+nginx+mysql+php7.1+laravel5.5環境UbuntuNginxMySqlPHPLaravel
- Pytorch複製現有環境PyTorch
- MySQL 複製全解析 Part 1 實驗環境介紹MySql
- MySQL複製命令slave被REPLICA命令取代MySql
- 常用的DOS命令和配置JDK環境變數JDK變數
- 【Mongodb】分片複製集環境新增新的分片MongoDB
- 詳解CentOS5.5 下搭建 PHP 環境(最佳的LAMP環境)CentOSPHPLAMP
- 手把手教你,如何在windows系統搭建mysql主從複製的環境WindowsMySql
- MySQL Xtrabackup真實生產環境搭建主從複製全過程MySql
- MySQL組複製(MGR)全解析 Part 2 常用複製技術介紹MySql
- linux常用壓縮解壓複製下載命令Linux
- linux環境安裝——mysql安裝複習LinuxMySql
- mongodb複製集(replica sets)+分片(sharding)環境搭建MongoDB
- Redis多例項及主從複製環境搭建Redis
- MySQL複製MySql
- mysql複製--主從複製配置MySql
- Mac環境下MySQL的安裝和基本命令的使用MacMySql
- 常用命令--複製-備份--cp--mv--scp--rsync
- 如何在不相容的DDL命令後修復MySQL複製MySql
- MySQL的主從複製MySql
- MySQL 8 複製(三)——延遲複製與部分複製MySql
- MySQL主從複製之GTID複製MySql
- MySQL 8 複製(一)——非同步複製MySql非同步
- MySQL 8 複製(二)——半同步複製MySql
- MySQL 8 複製(四)——GTID與複製MySql
- MySQL 8 複製(五)——配置GTID複製MySql
- 聊聊MySQL主從複製的幾種複製方式MySql
- 常用的 Docker 容器管理命令Docker
- MySQL 複製全解析 Part 11 使用xtrabackup建立MySQL複製MySql
- MySQL主從複製之半同步複製MySql
- MySQL主從複製之非同步複製MySql非同步
- MySQL的零複製技術MySql
- 1.Vagrant搭建統一開發環境 常用命令開發環境