mysql主從複製脫坑

我也是第一次弄這個mysql主從複製,爬坑總算爬出來了,分享一下爬坑心得;
準備的相關軟件及系統版本:
mysql5.6解壓版
兩臺服務器windosserver2012 64.

下載mysql就不多說了.
首先先在兩臺服務器上分別安裝配置mysql,前面一部分安裝是相同的,因爲要實現mysql的主從複製,在後期配置的時候會有區別,下面我們在相同的服務器上進行相同的安裝.
1.在兩臺服務器上安裝mysql
①.配置環境變量:在系統環境變量的path中加入磁盤目錄\mysql\bin的文件目錄名
②.在你指定的主mysql目錄下修改my.ini配置文件,我主mysql配置的如下

[client]
port = 3306
default-character-set = utf8
[mysqld]
basedir = C:/xuguoxi/mysql
datadir = C:/xuguoxi/mysql/data
port = 3306
character_set_server=utf8
server_id = 2
log-bin = mysql-bin
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

上面的配置你們剛下載的可能什麼都沒有,必須配置的有basedir,dayadir,port,server_id,log-bin,其他的可以默認,也可以自己根據需要添加
上面體現了主從複製配置的是server_id = 2(在配置主從複製的時候必須指定且不能與其他mysql重複),log-bin = mysql-bin(在主mysql端必須開啓這個配置,默認不開啓)

③.在你指定的從mysql目錄下修改my.ini配置文件,我的從mysql配置如下

[client]
port = 3306
default-character-set = utf8
[mysqld]
basedir = C:/xuguoxi/mysql
datadir = C:/xuguoxi/mysql/data
character_set_server=utf8
port = 3306
server_id = 3
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

從服務器主要就指定了server_id = 3,要保證與主服務器不相同

④.在主mysql的服務器上配置
打開mysql/bin目錄,按鍵shift+鼠標右鍵,選擇在此處打開命令窗口,輸入

mysqld -install

成功後再啓動服務,失敗請檢查啓動目錄與文件

net start mysql

下面說一下與其相關的命令,修改配置文件後需要停止後再開啓:

net stop mysql //停止mysql服務
sc delect mysql //刪除mysql服務

登錄mysql

mysql -u root -p

提示輸入密碼,直接回車,第一次登錄不需要密碼
設置密碼

set password for 'root'@'localhost'=password('newpasswd');

增加遠程訪問用戶及密碼

CREATE USER 'xu'@'%' IDENTIFIED BY 'xu123456';

給遠程用戶所有權限

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

最後刷新權限

FLUSH PRIVILEGES;

查看用戶及權限表

SELECT User, Host, Password FROM mysql.user;

在從mysql上進行第4步操作

⑤.在主服務器上配置
使用root登錄
查看log_bin是否開啓成功,off沒有,on開啓成功,失敗的話需要仔細檢查配置文件

SHOW VARIABLES LIKE 'log_bin';

新增備份用戶

GRANT REPLICATION SLAVE ON *.* to 'xubak'@'%'identified by 'xu123456';

刷新權限

FLUSH PRIVILEGES;

如果數據庫有數據在寫入,我們需要鎖定數據庫,不能寫入數據,等配置結束後再解鎖

lock table writer read;//鎖定數據庫
unlock tables;//解鎖

查看主mysql一下主要的文件信息,記錄一下獲取的值

show master status;

這裏寫圖片描述

上面的幾個配置主要是備份的賬號及獲取了主mysql的日文件信息

⑥在從mysql服務器上配置

CHANGE MASTER TO 
MASTER_HOST='主mysql服務器ip',
MASTER_PORT=3306,
MASTER_USER='xubak',
MASTER_PASSWORD='xu123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=2517;

開啓主從

start slave;

查看主從配置是否成功

show slave status \G;

這裏寫圖片描述

這裏需要注意,需要Slave_IO_Running:YES與Slave_SQL_Running:YES必須爲YES,其他的都是配置失敗,需要檢查配置的用戶權限,還是不行的話需要從頭一步一步的檢查.

⑦.驗證主從複製;
在主mysql服務器上使用root賬號登錄
創建一個數據庫

create database master_one;
show databases;

在從mysql服務器上使用root賬號登錄

show databases;

配置成功的話可以看到從庫中也有了數據庫master_one了

使用剛創建的遠程賬號在插入一個數據庫,也可以看到從庫也對應添加了一個數據庫.

目前配置到此結束.

推薦相關視頻:
https://www.ixigua.com/i6497232485435310606/?utm_source=toutiao&utm_medium=feed_stream#mid=60959158180
推薦相關文章:
http://blog.csdn.net/zleiw/article/details/78243316
http://blog.csdn.net/hguisu/article/details/7325124/
http://blog.csdn.net/i_bruce/article/details/17055135
http://www.jb51.net/article/85218.htm
http://blog.csdn.net/linuxnews/article/details/51704964
http://blog.csdn.net/zbw18297786698/article/details/51078396
http://blog.csdn.net/qq_33517844/article/details/78737043

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章