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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql本身主从_Mysql主从复制

發布時間:2023/12/10 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql本身主从_Mysql主从复制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Mysql環境準備

#下載Mysql

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

如果報錯: -bash: wget: 未找到命令

安裝插件 yum -y install wget

安裝mysql-community-release-el7-5.noarch.rpm

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安裝Mysql

sudo yum install mysql-server

一直y下去就可以了

配置Mysql

mysql -u root

報錯。原因:原因是/var/lib/mysql的訪問權限問題。

#授權

chown root /var/lib/mysql/

#重啟

service mysqld restart

#再次登錄并修改密碼

mysql -u root

use mysql;

update user set password=password('123456') where user='root';

exit;

#再次重啟,授權root可以遠程連接

service mysqld restart

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

service mysqld restart

Mysql主從復制原理

MySQL的主從復制是MySQL本身自帶的一個功能,不需要額外的第三方軟件就可以實現。其復制功能并不是copy文件來實現的,而是借助binlog日志文件里面的SQL命令實現的主從復制,可以理解為我在Master端執行了一條SQL命令,那么在Salve端同樣會執行一遍,從而達到主從復制的效果。從庫生成兩個線程,一個1/0線程、一.個SQL線程。i/o線程去請求主庫的binlog,并將得到的binlog日志寫到relay log (中繼日志)文件中。主庫會生成一個log dump線程,用來給從庫i/o線程傳binlog;SQL線程,會讀取relay log文件中的日志,并解析成具體操作,來實現主從的操作一致,而最終數據一致。

主從復制搭建

配置主節點

vi /etc/my.cnf

server_id=131 ###服務器id

log-bin=mysql-bin ###開啟日志文件

#保存之后重啟

service mysqld restart

#查詢對應配置文件中的server_id 說明已經配置成功

show variables like '%server_id%';

#看到同步的文件,和行數 說明已經配置成功。

show master status;

從節點配置

vi /etc/my.cnf

server_id=132 ###從服務器server_id

log-bin=mysql-bin ###日志文件同步方式

binlog_do_db=test,test1 ###同步數據庫,多個以逗號分隔

service mysqld restart

從節點同步主節點

master_host:主節點IP

master_user :主節點賬號

master_password:密碼

#這兩個參數的配置是在主節點通過show master status;查詢到的

master_log_file

master_log_pos

#執行sql

CHANGE MASTER TO master_host = '192.168.100.131',

master_user = 'root',

master_password = 'root',

master_log_file = 'mysql-bin.000001',

master_log_pos = 120;

因為從節點的服務器是直接復制的主節點,所有可能會出現一個錯誤

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.。是因為UUID重復了.刪除子節點的auto.cnf就可以了

解決辦法:

#找到Mysql的位置

cat /etc/my.cnf

cd /var/lib/mysql

rm -rf auto.cnf

service mysqld restart

#開始同步

start slave

#查看同步狀態

SHOW SLAVE STATUS

效果演示

在主節點創建test數據庫,在創建一個表,子節點會自動同步

刷新一下從節點

總結

以上是生活随笔為你收集整理的mysql本身主从_Mysql主从复制的全部內容,希望文章能夠幫你解決所遇到的問題。

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