Mysql主从同步(以window为例)
mysql有4种不同的日志,分别是二进制日志,查询日志,慢查询日志和错误日志。
主数据库服务器地址:192.168.1.100
从数据库服务器地址:192.168.1.101
主服务器设置:
1、在mysql下找到my.ini文件,在其[mysqld] 下添加主服务器端配置:
port=3306
server-id=100
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
2、保存my.ini文件,重启数据库,然后会在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件;
3、给要连接的从服务器设置权限:grant replication slave,reload,super on *.* to slave@192.168.1.101 identified by ’123456′; ps: 给主机192.168.1.193添加权限,用户名:slave,密码:123456;(只需输入一次就可以了)
4、输入命令 show master status; # 找到File 和 Position 的值记录下来;
类似 mysql.000002 107 tianxi
从服务器设置:
1、在mysql下找到my.ini文件,在其[mysqld] 下添加主服务器端配置:
port=3306
server-id = 101
replicate-do-db = tianxi
2、从服务器上测试:mysql -u slave -p 123456 -h 192.168.1.100,查看能否连接主数据库成功,如果成功,则一定要退出来,之前我就是一直犯了一个错误,按照网上的步骤测试完毕之后就没有退出mysql,结果执行以下步骤时老是报错,其原因是一直设置的是主数据库;
3、设置连接参数:
mysql>change master to master_host=’192.168.1.100′,master_user=’root’,master_password=’root’, master_log_file=’mysql-bin.000002′,master_log_pos=107; ps:可能会报一个错误,大概的意思是说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;
4、mysql> start slave; 开启slave线程;执行mysql> show slave status\G (没有分号),查看
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
看到这里就成功了。
- git命令简单使用案例
- 几乎失传的手诊,非常有用,你值得拥有!