Linux系统下MySQL配置主从分离的步骤

 更新时间:2022年03月21日 10:24:00   作者:无昵称老炮儿  
MySQL数据库自身提供的主从复制功能可以实现数据的多处自动备份,实现数据库的拓展,多个数据备份不仅加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能,这篇文章主要给大家介绍了关于在Linux系统下MySQL配置主从分离的相关资料,需要的朋友可以参考下
主服务器192.168.176.110
从服务器192.168.176.120

主数据库操作(ip:192.168.176.110)

配置MySQL主服务器的配置文件

[root@localhost ~]# vi /etc/my.cnf

在my.cnf内加上如下配置

server-id = 1 #保证唯一性
log-bin = mysql-bin #主从服务的核心 定义binblog日志的前缀名 
#binlog-do-db=test #需要同步的数据库,如果没有本行,即表示同步所有的数据库 
#binlog-do-db=mydb #需要同步的数据库,同时同步test、mydb库 、
#binlog-ignore-db=mysql #被忽略的数据库

重启MySQL主服务器

[root@localhost ~]# service mysqld restart

登录MySQL

[root@localhost ~]# mysql -uroot -p123456 

查看数据库状态

需要记住File列和Position列的数据,配置从服务器需要使用

mysql> show master status;

主数据库操作(ip:192.168.176.120)

配置MySQL从服务器的配置文件

[root@localhost ~]# vi /etc/my.cnf

在my.cnf内加上如下配置

server-id = 2 #保证唯一性

重启MySQL主服务器

[root@localhost ~]# service mysqld restart

登录MySQL

[root@localhost ~]# mysql -uroot -p123456 

配置同步主服务器:

master_host主服务器地址

master_port主服务器端口

master_user主服务器用户名

master_password主服务器密码

master_log_file 对应上图的主服务器File列数据

master_log_pos对应上图的主服务器Position列数据

mysql> change master to master_host='192.168.176.110',master_port=3306,master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=157;

开启服务,并查看服务状态

mysql> start slave;  #开启从服务
mysql> show slave status\G; #查看从服务状态

配置成功

配置出错

注意:配置主从同步,出现Slave_IO_Running: No 情况处理方式(复制同一套环境出现的问题)

如果出现上图的错误,说明两台虚拟机的MySQL环境的UUID一致。 可以通过命令检测他们的UUID。

[root@localhost ~]# cat /var/lib/mysql/auto.cnf

如果命令无效 则进入到MySQL,执行以下命令获取安装的路径

mysql> show variables like 'datadir';

然后从服务器生成一个新的UUID

mysql> select uuid();

复制后 通过命令去修改里面的UUID(路径为自己mysql安装路径)

[root@localhost ~]# vi /var/lib/mysql/auto.cnf

最后重启下mysql服务

[root@localhost ~]# service mysqld restart

执行完后重新的去执行【配置同步主服务器】的步骤,配置参数和主服务器相同的即可

以上是配置主从同步,出现Slave_IO_Running: No 情况处理方式

主服务器创建数据库

主库宕机处理方式

1-确保所有的relay log全部更新完毕,在每个从库上执行show processlist

2-更新完毕后,登录所有从库查看master.info文件,对比选择pos最大的作为新的主库,

3-然后登录这个新的主库,执行stop slave;进入主目录,删除master.Info和relay-log.info配置my.cnf文件开启log-bin文件

4-创建用于同步的用户并授权slave

5-登录另外一台从库,执行stop slave停止同步

6-执行start slave

7-修改新的master数据,测试slave是否同步更新

从库宕机

1-查看从库上mysql的错误日志,里面有记录主从挂掉时的binlog信息。

2-有了binlog和postion信息后,只需要重新在从库上进行change master to配置即可。配置后开启slave状态,没有报错

3-查看slave状态,发现slave已经正常了,开始进行延时数据恢复。

总结

到此这篇关于Linux系统下MySQL配置主从分离的文章就介绍到这了,更多相关MySQL配置主从分离内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql5.7解压版的安装和卸载及常见问题小结

    Mysql5.7解压版的安装和卸载及常见问题小结

    这篇文章主要介绍了Mysql5.7解压版的安装和卸载及常见问题小结,需要的朋友可以参考下
    2017-11-11
  • mysql排序失效问题的解决

    mysql排序失效问题的解决

    本文主要介绍了mysql排序失效问题的解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 深入讲解MySQL Innodb索引的原理

    深入讲解MySQL Innodb索引的原理

    这篇文章主要给大家介绍了关于MySQL Innodb索引原理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Mysql如何设置表主键id从1开始递增

    Mysql如何设置表主键id从1开始递增

    这篇文章主要介绍了Mysql如何设置表主键id从1开始递增问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MySQL中show命令方法得到表列及整个库的详细信息(精品珍藏)

    MySQL中show命令方法得到表列及整个库的详细信息(精品珍藏)

    MySQL中show 句法得到表列及整个库的详细信息,方便查看数据库的详细信息。
    2010-11-11
  • Mysql学习心得之插入、更新、删除记录

    Mysql学习心得之插入、更新、删除记录

    在程序开发过程中,离不开数据库,数据库离不开增删改查操作,下面小编把我对mysql学习之插入、更新、删除记录心得总结分享给大家,需要的朋友可以参考下
    2015-08-08
  • MySQL Limit执行过程分析探索

    MySQL Limit执行过程分析探索

    limit是MySql的内置函数,一般用于查询表中记录的条数,作用是用于限制查询条数,下面这篇文章主要给大家介绍了关于SQL中limit函数语法与用法的相关资料,详细讲了MySQL Limit执行过程
    2022-12-12
  • 比较详细的MySQL字段类型说明

    比较详细的MySQL字段类型说明

    MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式。
    2008-08-08
  • MySQ登录提示ERROR 1045 (28000)错误的解决方法

    MySQ登录提示ERROR 1045 (28000)错误的解决方法

    这篇文章主要为大家详细介绍了MySQ登录提示ERROR 1045 (28000)错误的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • php下巧用select语句实现mysql分页查询

    php下巧用select语句实现mysql分页查询

    mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习。
    2010-12-12

最新评论