日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql5.7 删除复制_mysql5.7实现主从复制以及产生问题记录

發布時間:2023/12/20 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql5.7 删除复制_mysql5.7实现主从复制以及产生问题记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗環境;

兩臺centos7主機,一臺ip為10.10.251.49 作為master

一臺ip為10.10.251.59作為slave(復制上臺虛擬機,需要修改ip,還有mysql數據庫的uuid)

主從同步原理圖

1),master需要開啟bin-log,用于記錄主庫修改數據庫的SQL語句。

2),異步復制過程,毫秒延遲(磁盤io,網速影響),需要開啟3個線程,master開啟IO線程,slave開啟IO線程,SQL線程

3),從庫啟動salve start,通過IO線程,用戶名和密碼去連接 MASTER,MASTER IO線程,負責將bin-log內容,Position位置點數據發給SLAVE。

4),SLAVE IO 線程收到數據后,會將內容追加到本地 relay-log 中繼日志,同時生成master.info 文件(用戶名,密碼,bin-log,)

二:

1)安裝mysql

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm從 下載yum源

yum localinstall mysql57-community-release-el7-7.noarch.rpm 安裝yum源

yum install mysql mysql-server mysql-devel -y

2)編輯myql默認配置文件,

vi /etc/my.cnf

添加以下內容

log-bin=mysql-bin

server-id= 1

systemctl restart mysqld 重啟數據庫

3)MASTER授權從庫訪問

mysql -uroot -pzabbix

mysql>??grant replication slave on *.* to 'zabbix'@'10.10.251.65' identified by 'zabbix'; ?#授權用戶名為zabbix,密碼為zabbix的用戶訪問 (一定確認用戶名,密碼,ip地址正確)

Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql> FLUSH PRIVILEGES; (刷新授權)

Query OK, 0 rows affected (0.01 sec)

mysql> show global variables like '%log%';

確認 為 on

| log_bin | ON |

mysql> show MAster LOGs;(先記錄log_name (master主機上的日志名字) 和 File_size(開始同步時候的節點))

+------------------+-----------+

| Log_name | File_size |

+------------------+-----------+

| mysql-bin.000001 | 1125905 |

+------------------+-----------+

1 row in set (0.00 sec)

三,SLAVE庫配置

vi /etc/my.cnf

添加以下內容

server-id= 2

relay-log=relay-log

relay-log-index=relay-log.index

systemctl restart mysqld? ? 重啟數據庫

mysql -uroot -pzabbix

mysql> CHANGE MASTER TO MASTER_HOST='10.10.251.49',MASTER_USER='zabbix',MASTER_PASSWORD='zabbix', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=881468;

Query OK, 0 rows affected, 2 warnings (0.43 sec)? ##需要指定的master的ip,LOG_FILE,LOG_POS,

mysql> start slave;

Query OK, 0 rows affected (0.03 sec)

mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 10.10.251.49

Master_User: zabbix

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 1127135

Relay_Log_File: relay-log.000002

Relay_Log_Pos: 245987

Relay_Master_Log_File: mysql-bin.000001

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: 1127135

Relay_Log_Space: 246188

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

Master_UUID: 2c5af6b7-73a1-11e8-8798-a20c9f0a7fef

Master_Info_File: /var/lib/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

最后測試數據庫

master1上

mysql> create database test;

Query OK, 1 row affected (0.01 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

| test |

| zabbix |

+--------------------+

6 rows in set (0.00 sec)

slave上

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

| test |

| zabbix |

+--------------------+

6 rows in set (0.00 sec)

本次搭建測試成功

一:

本次遇到的錯誤,復制主機后mysql的UUID沒改

Last_IO_Errno: 0

Last_IO_Error:

這兒就出現關于uuid的錯誤,需要在數據庫目錄下

(我的是/var/lib/mysql/)

vi auto.cfg

刪除

server-uuid=2c5af6b7-73a1-11e8-8798-a20c9f0a7fef

并且重啟mysqld,會生成新的uuid

二,

SLAVE上多次寫入MASTER的信息;

導致數據庫總無法 start? slave;

需要 reset slave all;

重新重新綁定主機,

mysql> CHANGE MASTER TO MASTER_HOST='10.10.251.49',MASTER_USER='zabbix',MASTER_PASSWORD='zabbix', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=881468;

方可start slave;

本次參考B站京峰教育視頻、

總結

以上是生活随笔為你收集整理的mysql5.7 删除复制_mysql5.7实现主从复制以及产生问题记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。