Mysql主从服务配置

Mysql主从服务配置

操作实例两台服务器
Win7 mysql5.5.*
VM虚拟机 Centos7 lnmp2 mysql 5.5.*

1.主服务器配置

修改主服务器mysql配置文件
windows下mysql配置文件名称my.ini
添加或者修改
log-bin=mysql-bin
server-id=1
查看server-id可以执行sql语句
show variables like ‘server_id’;
显示结果
+—————+——-+
| Variable_name | Value |
+—————+——-+
| server_id     | 1     |
+—————+——-+

主服务器上执行sql语句创建slave帐户并授权slave:

GRANT REPLICATION SLAVE ON *.* to ‘slave’@’%’ identified by ‘123’;
这里可以指定从服务器的IP地址,先用%允许所有远程访问

登录主服务器的mysql查看master状态

mysql> show master status;
+——————+———-+————–+——————+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000004 |      107 |              |                  |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

记录当前File,Position的值

重启主服务器mysql服务

2.从服务器配置

修改mysql配置文件,Lnmp的mysql配置文件位于/etc/my.cnf

添加或者修改server-id,不能于主服务器的server-id冲突

server-id=2

重启从服务器mysql服务

登录终端执行sql语句
1.停止slave:
stop slave;
2.执行master语句:
change master to master_host=’主服务器IP地址’,master_port=’3306′,master_user=’slave’,master_password=’123′,
master_log_file=’mysql-bin.000001′,master_log_pos=107;
3.启动slave
start slave

4.查看slave状态
show slave status \G

*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.168
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 107
Relay_Log_File: localhost-relay-bin.000015
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Slave_IO_Running,Slave_SQL_Running如果任何一个No都是失败的,具体错误信息可以查看mysql错误日志

这里完成了简单mysql主从配置,可以在主服务器创建数据库表看看效果,
搭配读写分离的PHP框架开始装逼飞吧

发表评论