MySQL主从同步

MySQL主从同步

作用

减少单台服务器的压力,防止单点故障

部署

主库

编辑/etc/mysql/mysql.conf.d/mysqld.cnf
shell 复制代码
log_bin=mysql-bin
server-id=1 #服务器的id,再主从数据库里不能重复
重启MySQL服务器
shell 复制代码
systemctl restart mysql
连接mysql,并创建用于主从复制的用户,赋予该用户权限
复制代码
mysql -u root -pxxx -h host -P port #xxx是mysql中用户root的密码,host是ip,port是端口号
create user 'username'@'host' identified by "password" #username可以替换成任意的用户名;host表示那个主机可以连接这台服务器,%表示任意主机都可以;password表示该用户的密码
grant slave replication on *.* to 'username'@'root'; #授权,其他同上
show master status \G;#查看master状态,主要关注File,Position

从库

编辑/etc/mysql/mysql.conf.d/mysqld.cnf,并重启mysql服务器
复制代码
server-id=2 #服务器的id,再主从数据库里不能重复
systemctl restart mysql
连接mysql,修改master
sql 复制代码
mysql -u root -pxxx -h host -P port #xxx是mysql中用户root的密码,host是ip,port是端口号
# username 是主库中创建的用户名
# password 是主库中创建的用户对应的密码
# PORT 是主库所占用的端口
# HOST 是主库的ip,如果mysql是服务器的话就是机器的公网ip
# FILE 是主库中执行show master status \G;结果当中的File字段的值
# POS 是主库中执行show master status \G;结果当中的Position字段的值
CHANGE MASTER TO MASTER_USER="username",MASTER_PASSWORD="password",MASTER_PORT="PORT",MASTER_HOST="HOST",
MASTER_LOG_FILE="FILE",MASTER_LOG_POS="POS";
MySQL中启动slave
sql 复制代码
start slave;
检查主从连接状态
sql 复制代码
show slave status\G;
相关推荐
默 语2 小时前
MySQL中的数据去重,该用DISTINCT还是GROUP BY?
java·数据库·mysql·distinct·group by·1024程序员节·数据去重
爱隐身的官人2 小时前
Windows配置解压版MySQL5(免安装)
windows·mysql
麦麦大数据5 小时前
F036 vue+flask中医热性药知识图谱可视化系统vue+flask+echarts+mysql
vue.js·python·mysql·flask·可视化·中医中药
BullSmall5 小时前
一键部署MySQL
数据库·mysql
程序新视界7 小时前
什么是OLTP ,MySQL是如何支持OLTP的?
数据库·后端·mysql
Lisonseekpan9 小时前
为什么要避免使用 `SELECT *`?
java·数据库·后端·sql·mysql·oracle
Wilson Chen9 小时前
深入理解 MySQL 事务与锁机制:从 ACID 到 Next-Key Lock 的实证之旅
java·数据库·mysql
无敌的牛10 小时前
MySQL的开始,MySQL的安装
数据库·mysql
Zxxxxxy_10 小时前
【MYSQL】增删改查
java·数据库·mysql
木辰風10 小时前
如何在MySQL中搜索JSON数据,并去除引号
数据库·mysql·json