【前言】
在ITOO项目组里我和大帅是mysql这块的主要负责人,领导让写个mysql主从复制的指导文档,在世超师父演示了一遍以后,我就开始了这个文档的编写。
【正文】
一、 安装mysql
这一步不进行介绍了, 和普通安装软件一样。 不明白的百度一下有一堆教程。我参考的安装教程:传送门
二、配置my.ini
、 2.1my.ini 所在路径:安装路径主目录下(例图:安装路径为D:mysql)
2.2 打开my.ini文件。更改server_id 使主服务器和从服务器server_id不同:例图中为主服务器id=1 从服务器可为 2、3、等等
(如若文件中没有server_id,直接增加图中语句即可。)
2.3 开启二进制日志功能
在my.ini中添加如下语句:
bog-bin = "‘mysql安装路径’ \log\binlog.log"
注意:‘mysql安装路径’要更换为你实际安装mysql时选择的路径
同时按照路径在对应目录下建立文件夹和文件
2.4重启mysql 服务:
windows+R打开运行框 输入cmd确定
在dos窗口先后输入如下指令:
netstop mysql
netstart mysql
三、实现主从复制
3.1主机
登陆主机mysql在master服务器上建立账户,并授权slave功能(以下命令均在cmd中实现)
- mysql –uroot –p//登录mysql
- grant replication slave on *.* to 'repl'@'%' identified by 'repl';//创建从机账户,授权slave
- flush privileges;//刷新权限
3.2从机(注意逗号和分号的区别)
登陆从机(slave)mysql在master服务器
- mysql –uroot –p//登录mysql
- change master to
- master_host="主机ip",
- master_user="repl",
- master_password="repl";//申请成为主机的slave
- start slave;//启动从机服务器
- show slave status\G;//检查slave服务器状态
注:同样,配置完成后需重启mysql服务。Slave_IO_Running为connection,Slave_SQL_Running为yes即为成功。
四、可能出现的其他问题
、 可能出现的问题
1.如果已知主服务器不为新库而从服务器为新库,则需要执行以下操作:
- flush tables with read lock;//锁定表
- mysqldump -uroot -p -A --master-data=1 > /tmp/master_16-09-12.sql//将主机全部数据复制到从机master_16-09-12.sql文件中
- unlock tables;//备份完毕后,对数据库解锁。在主服务器建立账户并授权slave之后操作
- mysql -uroot -p < master_16-09-12.sql//将之前备份的数据库导入从机库中。从服务器同步前进行
2. 系统错误 1067 mysql服务无法启动
注意:
1.将my.ini 文件中default-storage-engine=INNODB改成MYISAM
2.检查my.ini文件中手书的路径有没有错误。
【总结】
mysql 的水很深,还有很多需要学习的地方。