服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - Linux系统下MySQL配置主从分离的步骤

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

2022-10-10 16:55无昵称老炮儿 Mysql

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 #被忽略的数据库

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

重启MySQL主服务器

[root@localhost ~]# service mysqld restart

登录MySQL

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

查看数据库状态

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

mysql> show master status;

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

 

主数据库操作(ip:192.168.176.120)

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

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

在my.cnf内加上如下配置

server-id = 2 #保证唯一性

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

重启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;

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

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

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

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

配置成功

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

配置出错

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

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

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

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

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

如果命令无效 则进入到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 情况处理方式

主服务器创建数据库

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

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

主库宕机处理方式

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配置主从分离内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://www.cnblogs.com/LaoPaoEr/p/16029399.html

延伸 · 阅读

精彩推荐
  • MysqlMySQL数据库表修复 MyISAM

    MySQL数据库表修复 MyISAM

    这篇文章主要介绍了MySQL数据库表修复 MyISAM ,需要的朋友可以参考下 ...

    MYSQL教程网2122020-04-07
  • Mysql详解mysql DML语句的使用

    详解mysql DML语句的使用

    这篇文章主要介绍了详解mysql DML语句的使用,帮助大家更好的理解和学习mysql,感兴趣的朋友可以了解下...

    mysql技术3552020-08-10
  • MysqlMYSQL 数据库导入导出命令

    MYSQL 数据库导入导出命令

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 ...

    mysql技术网3442019-11-11
  • Mysql深入聊聊MySQL中各种对象的大小长度限制

    深入聊聊MySQL中各种对象的大小长度限制

    在使用mysql的过程中总会遇到或大或小的问题,这篇文章主要给大家介绍了关于MySQL中各种对象的大小长度限制的相关资料,文中通过示例代码介绍的非常详细...

    不剪发的Tony老师4922022-02-12
  • MysqlMySQL 去重实例操作详解

    MySQL 去重实例操作详解

    这篇文章主要介绍了MySQL 去重实例操作详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下...

    Java中文社群8432022-07-19
  • Mysql分享CentOS下MySQL最新版本5.6.13源码安装过程

    分享CentOS下MySQL最新版本5.6.13源码安装过程

    这篇文章主要介绍了CentOS下安装MySQL最新版本5.6.13过程分享,需要的朋友可以参考下 ...

    MYSQL教程网3432020-03-13
  • Mysqlmysql不支持group by的解决方法小结

    mysql不支持group by的解决方法小结

    下载安装的是最新版的mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模式后,原先的 group by 语句就报错,然后又把它移除了...

    CSDN11092021-01-05
  • MysqlMac安装 mysql 数据库总结

    Mac安装 mysql 数据库总结

    本文给大家分享的是如何在Mac下安装mysql数据库的方法,总结的很全面,有需要的小伙伴可以参考下 ...

    会炒饭的美工4612020-06-03