程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 在 CentOS7 上部署 MySQL 主從,centos7mysql

在 CentOS7 上部署 MySQL 主從,centos7mysql

編輯:MySQL綜合教程

在 CentOS7 上部署 MySQL 主從,centos7mysql


在 CentOS7 上部署 MySQL 主從

1 通過 SecureCRT 連接至 MySQL 主服務器;

2 找到 my.cnf 文件所在的目錄:
    mysql --help | grep my.cnf
   一般情況 my.cnf 都會位於 /etc/ 目錄下;

3 用 vim 打開 MySQL 的配置文件 my.cnf:
    vim /etc/my.cnf

4 找到 [mysqld] 並在其後添加如下配置:
    # 唯一標識此 MySQL 服務器,默認值為 1,一般采用所屬 IP 的末端值
    server-id=1
    # 二進制日志文件名字,MySQL 主服務器必須啟用此配置
    log-bin=master-bin-log
    # MySQL 主服務器中參與主從復制的數據庫名;如果有多個數據庫,則此參數可以有多個,每行一個,分部對應不同的數據庫
    binlog-do-db=db_master_slave
    # MySQL 主服務器中二進制日志文件的索引名
    log-bin-index=master-bin-log.index

5 在 MySQL 從服務器上同樣用 vim 打開 my.cnf 文件,定位到 [mysqld],並在其後面加入如下配置:
    # 唯一標識此 MySQL 服務器,默認值為 1,一般采用所屬 IP 的末端值
    server-id=2
    # MySQL 從服務器的日志索引文件名
    relay-log-index=slave-relay-log.index
    # MySQL 從服務器的日志文件名
    relay-log=slave-relay-log

6 在 MySQL master 和 slave 服務器上分別創建數據庫 db_master_slave:
    create database db_master_slave;    

7 在 MySQL master 服務器上創建用戶 user_master,並設置密碼 Password_Master_123456:
    create user 'user_master'@'%' identified by 'Password_Master_123456';

8 在 MySQL master 服務器上為用戶 user_master 賦權對 db_master_slave 數據庫的所有權限:
    grant all on db_master_slave.* to 'user_master'@'%';

9 在 MySQL master 服務器上為用戶 user_master 賦本地訪問的權限:
    grant all privileges on db_master_slave.* to 'user_master'@'localhost' identified by 'Password_Master_123456';

10 在 MySQL master 服務器上授權 MySQL slave 服務器可以通過 user_master 用戶訪問主服務器:
    grant replication slave on *.* to 'user_master'@'%' identified by 'Password_Master_123456' with grant option;

11 在 MySQL master 和 slave 服務器上分別重啟 MySQL 服務:
    關閉 MySQL 服務:
        service mysqld stop
    打開 MySQL 服務:
        service mysqld start
重啟 MySQL 服務:
     service mysql restart 12 在 MySQL master 和 slave 服務器上分別進入到數據庫 db_master_slave 中: use db_master_slave; 並創建用戶名表 t_user: create table t_user(id int(3), name varchar(128)); 13 查看 MySQL master 服務器的狀態: show master status; 並記錄下其 master_log_file 屬性和 master_log_pos 屬性的值; 14 在 MySQL slave 服務上執行如下配置: change master to master_host='192.168.1.10', // MySQL master 服務器IP master_port=3306, master_user='user_master', master_password='Password_Master_123456', master_log_file='master-bin-log.000004', // MySQL master 服務器 master_log_file 的值 master_log_pos=654; // MySQL master 服務器 master_log_pos 的值 15 在 MySQL master 服務器的 db_master_slave 庫中為用戶名 t_user 添加數據: mysql> insert into t_user(id, name) values(1, 'idea1'); mysql> select * from t_user; 16 在 MySQL slave 服務器的 db_master_slave 庫中為用戶名 t_user 添加數據: mysql> insert into t_user(id, name) values(1, 'idea1'); mysql> select * from t_user; 17 在 MySQL slave 服務器的如何發現: slave_IO_running = NO 則執行如下命令: mysql> stop slave; mysql> start slave; 18 查看 MySQL 運行時中 server_id 的值: show variables like 'server_id';

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved