MySQL—主从搭建
1、在 主服务器中配置 mysql 参数
log-bin=parent_mysql #文件名 server-id=1 #多个数据库配置文件不能重复
重启
2、在 从服务器中配置
server-id=2 #多个数据库配置文件不能重复
重启
3、在 主服务器中配置备份账户并授权(用户主从之间的备份) REPLICATION SLAVE
1、进入 mysql
mysql -uroot -p
创建用户
create user 'repl'@'%' identified by 'root'; #repl 账号 root 密码
授权
grant REPLICATION SLAVE on *.* to 'repl'@'%';
刷新权限
flush privileges;
4、主数据库进行锁表 FLUSH TABLES WITH READ LOCK;
1、现在我们在主数据库插入一条数据
INSERT INTO t_user(id, user_name) VALUES('124655678','王二');
卡在这里了,就说明已经锁表了
5、主数据库找到 log-bin 的位置 SHOW MASTER STATUS;
6、主数据库备份数据(把主数据库中以有的数据备份)
mysqldump --all-databases --master-data > dbdump.db -uroot -p
新建一个会话,不能在当前会话中进行操作
7、从服务器中将主服务器的 dbdump.db 复制过来
scp root@192.168.1.203:/usr/local/mysql/bin/dbdump.db /usr/local/tools
1、加载数据到数据库中
mysql < dbdump.db -uroot -p
2、查看从数据库中数据
8、现在可以把锁表的语句放开了,回到主数据库中
unlock tables;
现在看从数据库中,还没有数据。
9、在从数据库中配置主从同步
CHANGE MASTER TO MASTER_HOST='192.168.1.203', MASTER_USER='repl', MASTER_PASSWORD='root', MASTER_LOG_FILE='parent_mysql.000001', MASTER_LOG_POS=739;
MASTER_HOST:IP地址
MASTER_USER:主数据库中备份账号
MASTER_PASSWORD:密码
MASTER_LOG_FILE:同步文件
MASTER_LOG_POS:bin-log 位置
开始同步
start slave;
查看同步情况
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步