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的解决办法
在master中新增数据库、数据表、更新记录、在slave中都能马上看到同步。