Mysql主从配置
- 准备两台电脑 ,这里是两台虚拟机,系统ubuntu18.04,ip分别为192.168.1.171别名pc1,192.168.1.147别名pc2。以pc1作主pc2为从。
- 在两台电脑上安装mysql8.x,安装msyql 自己想办法,安装完成后确保没有问题。
- 让mysql 可以远程访问,
- 登录 mysql :
mysql -uroot -p
回车输入密码 - 接着输入命令
use mysql
- 修改root用户可以被所有电脑访问
update user set host='%' where user='root'
- 重启msyql服务
service mysql restart
- 登录 mysql :
- 主从配置
- 配置pc1,打开
vi /etc/mysql/mysql.conf.d/mysql.cnf
, 在[mysqld]节点下输入
server-id=1 #这是mysql服务id,集群中唯一
log-bin=mysql-bin #开启二进制日志
binlog-do-db=db_master_slave_test # 要同表的数据库 - 配置pc2,打开
vi /etc/mysql/mysql.conf.d/mysql.cnf
, 在[mysqld]节点下输入
server-id=2 #这是mysql服务id,集群中唯一
binlog-do-db=db_master_slave_test # 要同表的数据库 - 修改完配置后重启服务
service mysql restart
- 在pc1登录进mysql,运行
show master status
,记录下File与Position两个字段的信息,我这里分别是mysql-bin.000002和155。 - 在pc2登录进mysql,执行同步SQL语句
CHANGE MASTER TO MASTER_HOST='192.168.1.171', MASTER_USER='root', MASTER_PASSWORD='123456.',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=155;
接着show slave status\G;
得到的结果中Slave_IO_Running: Yes,Slave_SQL_Running: Yes都为Yes表示 已经配置成功。 - 接下在pc1的mysql 中做增删改,在pc2的msyql就会数据同步了
- 配置pc1,打开