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