MySql 主從叢集配置
一、準備環境
三台機器 其中190是住,其餘倆是節點
192.168.0.190 master
192.168.0.162 slave
192.168.0.163 slave
確定版本一緻,啟動mysql。
二、修改配置檔案
master:
- [email protected]:/etc/mysql$ sudo vim my.cnf
添加下面代碼
- [mysqld]
- log-bin=mysql-bin
- server-id=190
開啟二進制,server-id 一般寫上ip 的後兩位 友善自己識别
slave--162:
- [email protected]:~$ sudo vim /etc/mysql/my.cnf
- [mysqld]
- log-bin=mysql-bin
- server-id=162
163 同上server-id為163
三、授權使用者
重新開機三台機器的mysql
- sudo service mysql restart
使用master機器建立新使用者,并授權。一般不用root使用者
- [email protected]:~$ mysql -u root -p
- GRANT REPLICATION SLAVE ON *.* to 'lin'@'%' identified by 'fulong'
檢視master狀态
- SHOW MASTER STATUS;
- mysql> SHOW MASTER STATUS;
- +------------------+----------+--------------+------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
- +------------------+----------+--------------+------------------+
- | mysql-bin.000001 | 107 | | |
- +------------------+----------+--------------+------------------+
- 1 row in set (0.01 sec)
四、配置slave
在162,163 slave上連結master
- mysql> change master to master_host='192.168.0.190',master_user='lin',master_password='fulong',master_log_file='mysql-bin.000001',master_log_pos=107;
- Query OK, 0 rows affected (0.04 sec)
啟動從服務
- start slave
檢視slave狀态
- show slave status\G
五、主從測試
在master建立資料庫slavetest;
- mysql> create database slavetest;
建立表并插入資料
- mysql> use slavetest;
- Database changed
- mysql> create table slave_test(id int(6),name varchar(10));
- Query OK, 0 rows affected (0.09 sec)
-
- mysql> insert into slave_test values(000001,'linlin');
- Query OK, 1 row affected (0.09 sec)
六、檢視結果
分别在三台機器檢視資料
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | slavetest |
- +--------------------+
- 4 rows in set (0.00 sec)
- mysql> select * from slave_test ;
- +------+--------+
- | id | name |
- +------+--------+
- | 1 | linlin |
- +------+--------+
- 1 row in set (0.00 sec)
每個mysql都有如上資料,主從複制成功!