您好,登錄后才能下訂單哦!
前提,主從服務器上的mysql 數據庫內的數據應該完全一致,才可以實施.如果之前只有一個主mysql 則應該先數據備份出來,還原到從mysql內,先保證數據一致,必要時可能要先停止業務再進行.
1.先建立一個用來copy 用戶,用于從mysql從主mysql 拉進日志.
create user copy identified by '123456';
2.給copy 用戶授權;
grant replication slave on . to 'copy'@'%' identified by '123456';
3.配置主從mysql的配置文件
主:[mysqld]
server-id = 10 #全局唯一 ID
log-bin = /data/mysql/binlog/mysql-bin #二進制文件保存路徑
從: [mysqld]
server-id = 20 #全局唯一 ID
4.查詢并記錄下主mysql的position值
mysql> show master status \g;
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin-log.000001 | 154 | | | |
+----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
5.手動同步主數據到從服務器上,并確保統一,全新數據庫可直接備份,已有大量數據的可能要加讀鎖了最好還是挑個夜深人靜,業務少的時間段;
利用mysqlpump,mysqldump,xtrabackup.sqlyog都可以.
這里用Windows環境下的sqlyog:
a.選中要備份的數據庫,右鍵>備份/導出>備份數據庫,轉儲為sql文件>保存
b.在目標數據庫:新建一個數據庫,右鍵>導入>選擇剛才備份的sql文件>確認.
6.mysql> change master to master_host='192.168.61.130', master_port=3306, master_user='copy',master_password=’123456’,master_log_file='bin-log.000001', master_log_pos=154,master_connect_retry=30;
7.測試
A.在主mysql 新建一個數據庫和新建一個用戶:
mysql>create database JBB;
mysql>create user JBB;
B.在從Mysql上查詢,看JBB數據庫和JBB用戶是否已經同步到位:
mysql> show databases;
+-----------+
| user |
+-----------+
| JBB |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)
mysql> select user from mysql.user;
+-----------+
| user |
+-----------+
| JBB |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)
可以看到slave上已經可以實現主庫的同步.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。