1、關閉所有數據庫
2、從庫修改server_id = 2 ,主庫默認是1 ,修改爲不同的
3、運行mysqld -initialize -insecure -user=mysql,此命令會初始化mysql 此時data目錄下會有一些文件,這個data文件夾是有問題的有的文件夾沒有生成如:mysql文件夾,找到自己的mysql的數據所在,將MySQL下面的data文件夾copy過來替換自己剛剛生成的data文件夾
4、 mysqld -install mysql3307,mysql3307爲此mysql在服務中的名稱,必須唯一
5、mysql的讀寫分離有兩種方案,一種是sql語句的同步,另一種是logbin日誌的同步,一般都是選擇logbin日誌的同步,修改主庫的my.ini配日誌文件,添加 log_bin=mysql-bin 和 replicate_do_db=master_slave,master_slave爲需要同步的數據庫
6、保存並啓動mysql服務(主庫),查詢 show master status; 將查詢結果中的File(例mysql-bin.000011)和Position(例325)的結果記錄下來
7、啓動mysql服務(從庫),新建查詢
change master to master_host='127.0.0.1', master_port=3306, master_user='root', master_password='123456',master_log_file='mysql-bin.000011', master_log_pos=325(後兩個參數的值對應第6步的結果)
8、若第七步報錯:ERROR 1201 (HY000): Could not initialize master! 出現這個問題的原因,應該是以前mysql做過主從!
可以運行以下命令解決:①slave stop; ②reset slave;
9、start slave;
10、show slave status;
如果查詢結果中 Slave_IO_Running 和 Slave_SQL_Running 都爲 Yes 則配置成功