准备
两台mysql服务,我这里准备了如下:
主库:192.168.176.128
从库:192.168.176.131
如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499
操作
主库配置
在Linux环境下MySQL的配置文件的位置是在 /etc/my.cnf ,在该文件下指定Master的配置如下:
log-bin=mysql-binserver-id=2binlog-ignore-db=information_schemabinlog-ignore-db=performance_schemabinlog-ignore-db=mysqlbinlog-do-db=yyf
server-id:标识唯一的数据库
binlog-ignore-db:表示同步的时候ignore的数据库
binlog-do-db:指定需要同步的数据库
赋予从库权限
- 1、然后重启mysql:service mysqld restart
- 2、进入mysql:[root opt]# mysql -u root -p 然后输入密码
- 3、 赋予从库权限帐号,允许用户在主库上读取日志,赋予192.168.176.131也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。
在Master数据库命令行中输入:
GRANT FILE ON . TO ‘root’@’192.168.176.131’ IDENTIFIED BY ‘12345’; GRANT REPLICATION SLAVE ON . TO ‘root’@’192.168.176.131’ IDENTIFIED BY ‘12345’; flush privileges; (IDENTIFIED BY后面跟你的数据库密码)
4、重启mysql,登录mysql,显示主库信息
mysql> show master status;+------------------+----------+--------------+---------------------------------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+---------------------------------------------+-------------------+| mysql-bin.000003 | 120 | yyf | information_schema,performance_schema,mysql | |+------------------+----------+--------------+---------------------------------------------+-------------------+ row in set (0.00 sec)
从库配置
/etc/my.cnf
log-bin=mysql-binserver-id=3binlog-ignore-db=information_schemabinlog-ignore-db=performance_schemabinlog-ignore-db=mysqlreplicate-do-db=yyfreplicate-ignore-db=mysqllog-slave-updatesslave-skip-errors=allslave-net-timeout=60
从库Slave到主库
mysql> stop slave; #关闭Slavemysql> change master to master_host='192.168.176.128',master_user='root',master_password='12345',master_log_file='mysql-bin.000003', master_log_pos=120;mysql> start slave; #开启Slave
效果
- 初始:
- 主库
- 从库
- 更改主库数据
- 刷新从库
主库数据更改,从库也会跟着修改。