mysql主从复制实践

1.master服务器上安装mysql,正常安装mysql参考

2.slave服务器上安装mysql,正常安装mysql参考

3.配置

3.1master服务器配置cnf文件

vim /etc/my.cnf

加入配置

[mysqld]
log-bin       = master-bin
log-bin-index = master-bin.index
server-id     = 1

重启mysql服务

service mysqld restart

 

3.2 创建用于复制主从的数据库用户

在master服务器中登录mysql

master> CREATE USER repl_user;
Query OK, 0 rows affected (0.00 sec)
master
> GRANT REPLICATION SLAVE ON *.* -> TO repl_user IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec) master> GRANT REPLICATION SLAVE, RELOAD, CREATE USER, SUPER -> ON *.* -> TO repl_user@'%' -> WITH GRANT OPTION;

3.3 slave服务器中配置mysql的cnf文件

vim /etc/my.cnf

加入配置,server-id要每台服务器中唯一

[mysqld]
server-id       = 2
relay-log-index = slave-relay-bin.index
relay-log       = slave-relay-bin

重启slave的mysql服务

service mysqld restart

3.4 在slave服务器的myql执行下面sql

登录slave服务器的mysql

mysql -uroot -p123456

设置slave服务器连接master服务器

192.168.1.175是master服务器的ip地址
slave> CHANGE MASTER TO
 -> MASTER_HOST = '192.168.1.175',
 -> MASTER_PORT = 3306,
 -> MASTER_USER = 'repl_user',
 -> MASTER_PASSWORD = '123456';

启动slave复制服务

start slave;

查看slave复制的状态

show slave status\G;

如果2个都是Yes,则表示成功

Slave_IO_Running:Connecting ; Slave_SQL_Running:Yes的解决办法

Slave_SQL_Running:No的解决办法

在master中新增数据库、数据表、更新记录、在slave中都能马上看到同步。

 

posted @ 2019-08-20 11:03  门罗的魔术师  阅读(127)  评论(0编辑  收藏  举报