1. 程式人生 > >基於centos6的mysql5.7.13主從部署(二)

基於centos6的mysql5.7.13主從部署(二)

linux mysql主從 部署

基於centos6的mysql5.7.13主從部署(二)

一、部署主mysql
說明:mysql1是主機,mysql2是備機。

  1. 創建庫

    [[email protected] ~]# mysql -uroot -p123456

    mysql> create database shiyan;

    mysql> exit

    Bye

  2. 將mysql庫拷貝到shiyan庫中

    [[email protected] ~]# mysqldump -uroot -p123456 mysql > 234.sql

    [[email protected] ~]# mysql -uroot -p123456 shiyan < 234.sql

    技術分享

  3. 查看是否拷貝成功

    [[email protected] ~]# mysql -uroot -p123456

    mysql> use shiyan;

    mysql> show tables;

    技術分享

  4. 修改主my.cnf配置文件

    [[email protected] ~]# vim /etc/my.cnf

    修改內容如下:


    21 server_id = 1 # 設置1為主,2為從,註意主從的id不要相同

    15 log_bin = mysql-bin # 打開註釋,名字可以更改,但是必須和從庫配置相同名字

    16 binlog-ignore-db = mysql # 不允許mysql庫同步

    17 binlog-do-db = shiyan #允許shiyan庫同步

    保存,退出!

    技術分享

  5. 說明:

    binlog-do-db=db1,db2 //類似白名單,將需要同步的庫添進去

    binlog-ignore-db=db3 //類似黑名單,將不需要同步的庫列出來

  6. 重啟mysqld服務

    [[email protected] ~]# /etc/init.d/mysqld restart

    [[email protected] ~]# ll /usr/local/mysql/data

    技術分享

    可以看到兩個以mysql-bin開頭的文件,這個就是它的log-bin!

  7. 做授權相關的,做主從一定要有一個專門傳輸mysql-bin(log-bin)的用戶

    [[email protected] ~]# mysql -uroot -p123456

    mysql> grant replication slave on *.* to [email protected] identified by ‘123456‘;

    技術分享

    說明:

    授權(grant)格式:grant 權限(select查詢、insert插入、update更新、delete刪除)on 數據庫對象(表、鏈) to 用戶

  8. 登入數據庫驗證

    [[email protected] ~]# mysql -urepl -h192.168.100.129 -p123456

  9. 刷新權限

    [[email protected] ~]# mysql -u root -p123456

    mysql> flush privileges;

  10. 表的讀鎖死

    mysql> flush tables with read lock;

  11. 讀一個數據

    mysql> show master status;

    技術分享

二、部署從mysql2

  1. 編輯從mysql2配置文件

    [[email protected] ~]# vim /etc/my.cnf

    修改內容如下:


    21 server_id = 2 # 設置1為主,2為從,註意主從的id不要相同

    15 log_bin = mysql-bin # 打開註釋,名字可以更改,但是必須和從庫配置相同名字

    16 binlog-ignore-db = mysql # 不允許mysql庫同步

    17 binlog-do-db = shiyan #允許shiyan庫同步

    保存,退出!

    技術分享

  2. 說明:

    binlog-do-db=db1,db2 //類似白名單,將需要同步的庫添進去

    binlog-ignore-db=db3 //類似黑名單,將不需要同步的庫列出來

  3. 重啟mysql服務

    [[email protected] ~]# /etc/init.d/mysqld restart

    [[email protected] ~]# ll /usr/local/mysql/data

    技術分享

  4. 在mysql2中創建shiyan庫

    [[email protected] ~]# mysql -uroot -p123456

    mysql> create database shiyan;

    Query OK, 1 row affected (0.01 sec)

    技術分享

  5. 將主庫備份的234.sql文件導入到從庫中的shiyan庫中

    [[email protected] ~]# scp 234.sql [email protected]:/root/

    報錯:

    技術分享

    解決方法:

    [[email protected] ~]# yum install openssh-clients -y

    說明:openssh-clients包在主從服務器上都要安裝!

    [[email protected] ~]# mysql -uroot -p123456 shiyan < 234.sql

    技術分享

  6. 查看下shiyan庫

    mysql> use shiyan;

    mysql> show databases shiyan;

    技術分享

  7. 停止(從)mysql2

    [[email protected] ~]# mysql -uroot -p123456

    mysql> stop slave;

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

  8. 指定主庫信息(非常重要的一步)在從庫上操作!

    mysql> change master to master_host=‘192.168.100.129‘,master_port=3306,master_user=‘repl‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=603;

    技術分享

    技術分享

    說明:

    這裏的master_host為主庫的ip地址,特別註意語法,數字不用加單引號!

    master_log_file:就是在主庫中通過show master status;查看出來的file部分;

    master_log_pos:為主庫中查看出來的position部分。

  9. 啟動(從)mysql2,在mysql2上操作!

    mysql> start slave;

  10. 檢測同步是否成功

    說明:在mysql2上操作

    mysql> show slave status\G;

    技術分享

    註意:Slave_IO_Running和Slave_SQL_Running

    至此,兩臺數據庫服務器已經是同步狀態,下一步就要進行同步測試!

本文出自 “聖騎士控魔之手” 博客,請務必保留此出處http://wutengfei.blog.51cto.com/10942117/1936873

基於centos6的mysql5.7.13主從部署(二)