[root@mysql1 ~]# scp mydb.sql 192.168.254.130:~

文章插图
配置从服务器slave , 我们这里是Mysql_2
新建一个和主服务器同样的库
mysql> CREATE DATABASE `mydb` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
导入主服务器备份的数据sql
mysql> use mydb
Database changed
mysql> sourece /root/mydb.sql

文章插图
修改配置文件 , 需要新增一些配置信息:
server-id=2 #这个类似一个唯一的标示 , 不能重复 , 最好是和自己的ip一致
log-bin=mysql-bin # 启用二进制日志
#两个可选参数(2选1)这两个参数设置成和主一样
binlog-do-db=mydb #需要同步的库 多个格式 db1,db2 , 这里我们同步的是mydb这个数据库
binlog-ignore-db= #忽略不同步的库
#设置只读 , 从服务器不给写入 , 这个不影响数据同步
read_only = 1 #普通用户设置只读
super_read_only = 1 #超级用户设置只读
[root@mysql1 ~]# vim /etc/my.cnf

文章插图
保存退出后重启mysql服务器
[root@mysql2 ~]# /etc/init.d/mysqld restart

文章插图
登陆Mysql_2客户端 , 配置slave
[root@mysql2 ~]# mysql -uroot –p
执行以下命令, (根据mysql官方手册的说明 , 5.5之前是slave stop , 5.6之后改为stop slave)
mysql> stop slave;
mysql> change master to master_host='192.168.254.129', master_user='repl', master_password='654321',master_log_file='mysql-bin.000001', master_log_pos=815;
-- (master_log_file和master_log_pos填上刚才记录下的二进制日志文件名和位置)
mysql> start slave;
查看从服务器的状态:
mysql> show slave status G;

文章插图
从服务器配置完成后 , 取消主服务器Mysql_1的锁表操作;
mysql> unlock tables;
查看验证主从配置的效果
在主服务器Mysql_1上创建一张a1表
CREATE TABLE `a1` (
`id` INT(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
`title` CHAR(20) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

文章插图
写入一条数据
mysql> INSERT INTO a1 (title) VALUES ('不如吃茶去');

文章插图
去从服务器Mysql_2看看有没有同步
mysql> use mydb;
mysql> show tables;
mysql> SELECT * FROM a1;

文章插图
多添加几条记录 , 删除一条记录 , 发现从服务器也能正常的同步;主从配置就这样完成了 , 写数据只能在主服务器中写 , 从服务器只能读取!
推荐阅读
- Centos7安装与配置OpenVPN服务器
- windows服务器安全配置篇
- Windows下RabbitMQ的安装配置
- OSPF基本概念、工作原理和基础配置
- Winserver2019上配置dhcp服务 客户端保留地址
- .net core 控制台程序读取配置文件
- Linux配置yum源
- nginx代理常用配置
- ai人脸打分50多 ai人脸打分
- 苹果|曝iPhone 14全系被搁置 或延期发布:配置有硬伤
