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

 

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