標籤:
1、為方便,我在一個windows下安裝兩個mysql執行個體,連接埠分別是 3306、3307
開啟 my.ini 或 my-default.ini 檔案 配置 basedir datadir 和port ,預設3306。配置如下
主節點
[mysqld]log-bin=mysql-bin //[必須]啟用二進位日誌basedir = D:\developer\mysql-5.6.24-win32datadir = D:\developer\mysql-5.6.24-win32\data# port = .....# server_id = .....server-id=10 //[必須]伺服器唯一ID,預設是1,一般取IP最後一段sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
從節點
[mysqld]log-bin=mysql-bin #[不是必須]啟用二進位日誌basedir = D:\developer\mysql-slavedatadir = D:\developer\mysql-slave\dataport = 3307server-id=11 #[必須]伺服器唯一ID,預設是1,一般取IP最後一段sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
安裝mysql 服務,命令如下:
D:\developer\mysql-slave\bin\mysqld.exe install mysql-slave --defaults-file="d:\developer\mysql-slave\my-default.ini"
master mysql伺服器建立 replication 許可權的使用者,然後重啟
grant replication slave on *.* to ‘repl‘@‘%‘ identified by ‘qwert‘;
show master status; 然後不操作資料庫。
slave 伺服器 串連 master ,命令如下:
stop slave;
change master to master_host=‘127.0.0.1‘, master_port=3306,master_user=‘repl‘,master_password=‘qwert‘, master_log_file=‘mysql-bin.000001‘, master_log_pos = 2388;
start slave;
show slave status;
出現的問題:
1、 show master status; 顯示為空白 則是 二進位日誌 沒有開啟 log-bin = ...
2、 show slave status; 顯示 Slave I/O: error connecting to master ‘[email protected]:3306‘ - retry-time: 60
因為 master 伺服器的mysql 使用者有 user = 空的使用者, delete from mysql.user where user=‘‘ 然後重啟即可。
參考資料:
1. windows下安裝多個mysql
2. mysql主從複製
3. mysql replication配置 http://www.cnblogs.com/northhurricane/p/3919889.html
4. Windows下MySQL的主從熱備(自動同步)配置
mysql 主從master-slave同步複製 配置,為讀寫分離準備