mysql8.0.主从复制搭建
搭建主从数据库
一.准备两台以上对的数据库
数据库1(主服务器):192.168.2.2
数据库2(从服务器):192.168.2.4
1.1 配置主服务器
.在 /etc/my.cnf 的[mysqld]节点内,新加
-
[mysqld]
-
#主从配置
-
server-id=1 #服务器 id
-
log-bin=mysql-bin #二进制文件存放路径
-
binlog-do-db=palan-dev #待同步的数据库
- binlog-ignore-db=mysql #不同步的数据
Esc退出,:wq 回车。
1.2 重启mysql
service mysqld restart
1.3 配置或者关闭服务器的防火墙,因为要用从服务器连接
使用命令:systemctl stop firewalld.service
1.4 登录mysql ,授权账号,让从数据库可以进行复制。
1 mysql -u root -p密码
2 CREATE USER 'rootslave'@'从服务器ip地址' IDENTIFIED WITH mysql_native_password BY 'root123';#创建用户
3 grant replication slave on *.* to 'rootslave'@'从服务器IP地址';#授权
1.5 重启mysql服务
service mysqld restart
1.6
再 mysql -u root -p密码,进入mysql,看下master状态,记住执行下面之后显示的File和Position,下面会用到
-
mysql> show master status;
-
+---------------+----------+--------------+------------------+-------------------+
-
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
-
+---------------+----------+--------------+------------------+-------------------+
-
| binlog.000003 | 155 | | | |
-
+---------------+----------+--------------+------------------+-------------------+
-
1 row in set (0.00 sec)
二 .从库的搭建
2.1 同样在配置文件/etc/my.cnf里加入
-
[mysqld]
-
#主从配置
-
server-id=4 #服务器 id
-
log-bin=mysql-bin #二进制文件存放路径
-
replicate-do-db=palan-dev #待同步的数据库
- replicate-ignore-db=mysql #不同步的数据
2.2重启数据库服务
service mysqld restart
2.3实现主从同步
-
server mysqld restart #重启服务
-
mysql -u root -p 密码 #登录mysql
-
mysql>stop slave;#关闭从库
-
mysql> change master to master_host='主数服务器IP',master_user='rootslave',master_password='root123',master_log_file='binlog.000003',master_log_pos=155;
-
mysql> start slave; #开启从库 (stop slave:关闭从库)
-
mysql> show slave status \G; #检查服务器状态
如图无错误,说明主从配置成功。
3.5 直接进入主服务器的创建数据库 plan-dev,从库会自动创建,你在主库中添加数据,从库会自动添加一样的数据,说明我们的配置成功了
主从复制到此就完成了,以上是自己搭建的一些心得。