配置mysql为主主复制步骤
mysql版本:mysql-5.6.24-solaris10-sparc-64bit.tar
操作系統:solaris 11g u10
操作用戶:使用非root進行操作安裝,a路服務器ip地址為192.168.1.1 b路ip地址為192.168.1.2(應改為實際ip地址)
1,安裝mysql數據庫
1)??????? 在預定義目錄下創建mysql數據庫目錄(我是用的目錄為/usr/db/)
| $mkdir mysql |
2)??????? 在mysql目錄下創建data目錄
| $mkdir –p mysql_3306/data |
3)??????? 在mysql目錄下解壓mysql文件
| $tar –xvf mysql-5.6.24-solaris10-sparc-64bit.tar $mv mysql-5.6.24-solaris10-sparc-64bit mysql |
4)??????? 初始化data目錄
| $./mysql/scripts/mysql_install_db --basedir=/usr/sjes/mysql/mysql --datadir=/usr/sjes/mysql/mysql_3306/data/ --user=mor |
5)??????? 配置數據庫啟動文件
| $vi /mysql/my.cnf |
?
A路mysql配置內容下:(user 改為對應實際運行用戶)
| sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES socket=/tmp/mysql.sock pid-file=/usr/db/mysql_3306/mysql.pid datadir=/usr/db/mysql_3306/data basedir=/usr/db/mysql/ user=test character-set-server=utf8 wait_timeout=31536000 interactive_timeout=31536000 server_id=1 |
B路mysql配置內容如下:
| sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES socket=/tmp/mysql.sock pid-file=/usr/db/mysql_3306/mysql.pid datadir=/usr/db/mysql_3306/data basedir=/usr/db/mysql/ user=test character-set-server=utf8 wait_timeout=31536000 interactive_timeout=31536000 server_id=2 |
?
6)??????? 啟動mysql數據庫,并更改root默認密碼
| $ ./bin/mysqld_safe --defaults-file=/usr/db/mysql/my.cnf --user=test 2>&1 & $mysql –u root –p(回車進入,不用輸入密碼) mysql>use mysql; mysql> update user set password=password('123456') where user='root'; mysql>flush privileges; |
7)??????? 在兩路個數據庫中創建數據庫實例(分別在兩個數據庫中創建要進行同步的數據庫)
| mysql> create database test1 default character set 'utf8'; mysql> create database test2 default character set 'utf8'; mysql> create database test3 default character set 'utf8'; |
?
以上步驟為創建 a/b兩路數據庫的具體過程,下面具體配置主主復制步驟:
2 配置主主主主復制
1)??????? 停止mysql數據庫
| $./bin/mysqladmin shutdown –p 3306 –S /tmp/mysql.sock |
2)??????? 分別編輯a,b兩路的mysql的配置文件
| $vi my.cnf |
A路my.cnf配置文件新增內容如下:(auto-increment-increment = 2?auto-increment-offset = 1?為防止在兩路數據庫添加數據造成自增字段的沖突,一般情況下只在一路進行添加、更新操作,另一路僅做作為讀)
| ##################replication config####################### log-bin = mysql-bin auto-increment-increment = 2 auto-increment-offset = 1 replicate-do-db = test1 replicate-do-db = test2 replicate-do-db = test3 binlog-ignore-db = mysql binlog-ignore-db = information_schema slave-skip-errors=all log-slave-updates symbolic-links=0 skip-name-resolve |
B路my.cnf配置文件新增內容如下:
| ##################replication config####################### log-bin = mysql-bin auto-increment-increment = 2 auto-increment-offset = 2 replicate-do-db = test1 replicate-do-db = test2 replicate-do-db = test3 binlog-ignore-db = mysql binlog-ignore-db = information_schema slave-skip-errors=all log-slave-updates symbolic-links=0 skip-name-resolve |
3)??????? 啟動mysql數據庫
| $./bin/mysqld_safe --defaults-file=/usr/db/mysql/my.cnf --user=test 2>&1 & |
4)??????? 進入數據庫并相互授權
???? A路執行如下命令
| mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY ‘123456’; mysql>flush privileges; |
? B路執行如下命令
| mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.1' IDENTIFIED BY ‘123456’; mysql>flush privileges; |
5)??????? 查看授權是否成功
| mysql> show grants for root@'192.168.1.1'; |
????????
6)??????? 互告bin-log信息
???? A路執行如下命令:
| mysql> show master status; |
?
B路執行如下命令:
| mysql> show master status; |
?
?
???? A路執行如下命令
| mysql> change master to master_host='192.168.1.2',master_user='root',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=2626; |
? B路執行如下命令
| mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=3625; |
7)??????? 在a,b兩路上啟動復制
| mysql>start slave; |
?
8)??????? 在a,b兩路上查看復制狀態
???? A路復制狀態:
| mysql> show slave status\G |
?
?
B路復制狀態
?
?
Slave_IO_Running: Yes
Slave_SQL_Running: Yes兩個值均為yes則表示復制鏈接正常。
9)??????? 測試復制
在a路數據庫中執行如下命令:?
| mysql>use test; mysql> CREATE TABLE `admin_info` ( `username` varchar(32) NOT NULL, `password` varchar(32) DEFAULT NULL, PRIMARY KEY (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; mysql>show tables; |
在b路數據庫中查看表結構是否同步;
在b路數據庫中執行如下命令:
| mysql>INSERT INTO `admin_info` VALUES ('admin','system','25d55ad283aa400af464c76d713c07ad'); |
在a路數據庫中查看記錄是否同步。
?
以上為進行mysql配置主主復制的全過程,當兩邊復制出現問題時,許重新執行2-(6)中的步驟。
轉載于:https://www.cnblogs.com/adam1991/p/7641039.html
總結
以上是生活随笔為你收集整理的配置mysql为主主复制步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一节 Memcached分布式缓存入门
- 下一篇: wincc怎么做数据库_WINCC与数据