mysql讀寫分離

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 則配置成功

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章