您的位置:首页 > 数据库 > MySQL

mysql 主从复制相关配置

2017-10-24 19:01 344 查看
这几天刚好搞读写分离,一主两从,实现读写分离的前提是数据库要是实现数据同步:

在主库中对从库进行同步授权:

注释: user :为从库的用户名 , ip :为从库所在服务器的ip地址,password : 为从库的密码

mysql> grant replication slave on *.* to  'user'@'ip'identified by 'password';


执行命令:刷新权限,使上面的授权起作用:flush privileges;

开启二进制文件(必须):配置数据库文件 my.cnf

注释:log-bin: 二进制日志; server-id:服务器唯一的id ,必须是唯一 的,一般取ip的最后一段,在这里我取的是最后一段

log-bin=mysql-bin
server-id=123


在这里多说一句: lower_case_table_names=1 必须也要配置,忽略大小写问题 ,不然后续会有大坑,我就掉进去了

“`

如图所示:



给从库配置连接主库

先查看主机(主库)的状态:

mysql> show master status;


+——————+———-+————–+——————+——————-+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+——————+———-+————–+——————+——————-+

| mysql-bin.000011 | 1883 | | | |

+——————+———-+————–+——————+——————-+

1 row in set (0.00 sec)

file & position 先记下来后续配置从库使用:分别代表 二进制文件名 和 位置*

如图所示:



准备工作已做完然后给从库配置同步主库的命令:

注释:master_host:为主库ip地址

master_port:主数据库端口号

master_user:主数据库用户名

master_password:主数据库密码

master_log_file:二进制文件名,与上面的对应

master_log_pos:二进制文件位置,与上面的对应

命令:

mysql> change master to master_host=’192.168.124.129’,master_port=3306,master_user=’root’,master_password=’123456’,master_log_file=’mysql-bin.000011’,master_log_pos=1673;

如图所示:



开启同步

命令:开启从库同步 start slave

命令:停止从库同步 stop slave

查看从库状态:

mysql> show slave status\G;


两者都为yes 就ok了!

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如图所示:



如果遇到 Slave_SQL_Running: No 问题,有可能是从库的二进制文件名 与 主库的二进制文件名不匹配,重新配置一下就ok了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: