MySQL基於binlog主從複製配置
Master-Slave 搭建環境:
Master:
Os: rhel-server-6.3-x86_64
Mysql: MySQL -5.5.35-1
虛擬機器:Virtual BOX
Ip:192.168.56.102
Slave:
Os: rhel-server-6.3-x86_64
Mysql: MySQL -5.5.35-1
虛擬機器:Virtual BOX
Ip:192.168.56.103
總體步驟:
1、 修改Master配置檔案(my.cnf)
2、 在Master上建立一個有複製許可權的使用者
3、 複製Master上的資料庫到Slave
4、 修改Slave配置檔案(my.cnf)
5、 Slave初始化複製
6、 測試
7、 常見問題
1、 修改Master配置檔案(my.cnf)
[mysqld]
server-id=1 //必須是伺服器唯一id,預設是0,
log-bin=mysql-bin //必須啟用二進位制日誌
replicate-do-db=dba
[mysqld]
server-id=1
log-bin=/var/lib/mysql/master-bin
#log-bin-index=/var/lib/mysql/master-bin.index
replicate-do-db=abc
2、 在Master上建立一個有複製許可權的使用者
mysql>create user abc;
mysql>grant replication slave on *.* to abc identified by ‘abc';
3、 複製Master上的資料庫到Slave
mysql>flush tables with read lock;
mysql> show master status
-> ;
+-----------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------+----------+--------------+------------------+
| ogg1-bin.000003 | 107 | | |
+-----------------+----------+--------------+------------------+1 row in set (0.00 sec)
mysql>quit
[root@ogg /]# /usr/bin/mysqldump abc -uroot -proot --opt | mysql abc -uroot -proot -h 192.168.56.103
MySQL 5.6 不允許使用明密碼檔案遠端
[root@guo ~]# /usr/bin/mysqldump abc -uroot -p --opt | mysql abc -uroot -p -h 192.168.56.103
489487.png
需要在slave中授權:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.56.103' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql>unlock tables;
4、修改Slave配置檔案(my.cnf)
[mysqld]
server-id=2 //必須是伺服器唯一id,預設是0,
log-bin=mysql-bin //必須啟用二進位制日誌
replicate-do-db=zbdba
[mysqld]
server-id=11
relay-log=/var/lib/mysql/slave-relay-bin
#relay-log-index=/var/lib/mysql/slave-relay-bin.index
#port=3316
#datadir=/var/lib/mysql/data
replicate-do-db=abc
5、 Slave初始化複製
mysql>slave stop;
mysql>CHANGE MASTER TO MASTER_HOST='192.168.56.12',
MASTER_USER='zbdba',MASTER_PASSWORD='123456',MASTER_LOG_FILE='ogg1-bin.000003',MASTER_LOG_POS=107;
CHANGE MASTER TO MASTER_HOST='192.168.56.102',
MASTER_PORT=3306,MASTER_USER='abc',
MASTER_PASSWORD='abc';
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.56.12
Master_User: zbdba
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: ogg1-bin.000003
Read_Master_Log_Pos: 107
Relay_Log_File: ogg2-relay-bin.000002
Relay_Log_Pos: 252
Relay_Master_Log_File: ogg1-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: abc
138216.png
6、 測試
master:
mysql> show tables;
+-----------------+
| Tables_in_zbdba |
+-----------------+
| guestbook |
| test |
| test1 |
+-----------------+
create table test2 select * from test1;
mysql> show tables;
+-----------------+
| Tables_in_zbdba |
+-----------------+
| guestbook |
| test |
| test1 |
| test2 |
+-----------------+
salve:
mysql> show tables;
+-----------------+
| Tables_in_zbdba |
+-----------------+
| guestbook |
| test |
| test1 |
| test2 |
+-----------------+
4 rows in set (0.00 sec)
如果需要配置相互主從的關係,只需要在slave資料庫上面建立對應使用者,原master上面做一下初始化就行了。
7、 常見問題
/etc下面沒有對應的my.cnf檔案
解決方法:
如果mysql使用rpm包安裝的,/etc下沒有對應的my.cnf檔案,這時候只需要複製一個/usr/share/mysql目錄下的.cnf檔案到/etc目錄,並改名為my.cnf即可。
Server-id引數無法修改
解決方法:
看my.cnf中是否存在相同的server-id=1
MySQL主備出現這個錯誤: ERROR 1201 (HY000):
解決方法:
mysql> slave stop;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> reset slave;
Query OK, 0 rows affected,(0.00 sec)
ERROR 1130 (HY000): Host '*.*.*.*' is not allowed to connect to this MySQL server
解決方法:
如果你想允許使用者myuser從ip為192.168.1.103的主機連線到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.103' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24742969/viewspace-1797042/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 基於GTID主從複製MySql
- mysql複製--主從複製配置MySql
- MYSQL主從複製配置(整理)MySql
- MySQL 5.7 基於GTID搭建主從複製MySql
- mysql 基於日誌的主從複製MySql
- MySQL 5.7基於GTID的主從複製MySql
- MYSQL主從複製製作配置方案MySql
- Linux下MySQL主從複製(Binlog)的部署過程LinuxMySql
- 基於配置檔案的redis的主從複製Redis
- 基於 Docker 的 MySQL 主從複製搭建(真正弄懂)DockerMySql
- MySQL 主從複製安裝部署配置MySql
- Docker 教程十五配置MySQL 主從複製DockerMySql
- mysql5.7主從複製,主主複製MySql
- MySQL主從複製MySql
- MySQL主從複製配置心跳功能介紹MySql
- MariaDB系列之三:基於日誌(binlog)主主複製(Master-Master)AST
- MySQL 主從複製,常見的binlog錯誤及解決方法MySql
- MySQL主從複製之GTID複製MySql
- 基於Linux的mysql主從配置LinuxMySql
- 基於 Docker 的 MySQL 主從複製搭建及原理(真正弄懂)DockerMySql
- mysql 8.4 主從複製MySql
- mysql--主從複製MySql
- mysql主從複製搭建MySql
- MySQL主從複製原理MySql
- MySQL的主從複製MySql
- mysql主從複製配置與問題解決MySql
- MySQL主從複製之半同步複製MySql
- MySQL主從複製之非同步複製MySql非同步
- MySQL++:Liunx - MySQL 主從複製MySql
- MySQL(13)---MYSQL主從複製原理MySql
- mysql主從複製(一):一主多從MySql
- MySQL主從複製配置引數 -- logs-slave-updatesMySql
- MySQL 5.7 多主一從(多源複製)同步配置MySql
- MySQL-18.主從複製MySql
- MySQL主從複製歷程MySql
- Mysql 傳統主從複製MySql
- MySQL8.0主從複製MySql
- Windows Mysql主從複製部署WindowsMySql
- windows 下mysql主從複製WindowsMySql