linux搭建mysql高可用之双主复制(宝塔界面)

1 篇文章 0 订阅
1 篇文章 0 订阅

目录

一、使用宝塔原因

二、初始化环境准备

三、安装mysql高可用之双主复制

1、安装mysql

2、管理root密码重置

3、linux 系统登录mysql 搭建1主1从

3.1、查看skip_networking的状态

3.3、配置从服务器

3.4、配置链接到主服务器的相关信息

3.5、查看同步状态

3.6、可视化界面测试

3.6.1、主数据库创建一个数据库 text

3.6.2、其他

4、mysql双主双从搭建(主主复制)


一、使用宝塔原因

因为作为一个java开发者来说,手工输入命令安装各类软件,操作起来费时费力并且容易出错,而且需要记住很多Linux的命令,非常复杂。

使用宝塔2分钟装好面板,一键管理服务器,鼠标点几下就能替代以前的复杂繁多命令,操作简单,看一眼就会使用。

所以为了节约时间 我使用的宝塔管理linux系统。

二、初始化环境准备

安装好linux系统或者云服务器链接好系统,当这个系统是空白的,才可以安装宝塔!

特别提醒要干净系统 ,难免对你的数据造成丢失,请提前做好备份啥的!!

宝塔安装:这是去拿去宝塔安装的代码在你的服务器使用命令就行

宝塔官网地址

https://www.bt.cn/new/download.html

如我是centos系统我执行 

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

进行安装当出现以下界面表示我的宝塔安装成功!        

三、安装mysql高可用之双主复制

这里为了实现这个效果我准备了2台服务器都安装了宝塔界面

192.168.10.100mysql 5.7.40
192.168.10.101mysql 5.7.40

1、安装mysql

登录宝塔界面-->点击软件商店--->搜索mysql 进行安装 

由于我这里是按照好了所以是更新、设置 、卸载展示。如果你没有安装只会出现安装按钮。

安装完成后点击设置首页展示 如上图所示就行。

2、管理root密码重置

点击左侧数据库 --->root密码 --->修改密码  提交 我这里为了好操作设置的123456  后续为了安全可以设置更复杂的密码体系,你也可以点击输入框右边的刷新按钮会出现比较复杂的密码。

3、linux 系统登录mysql 搭建1主1从

远程终端连接后你可以使用命令查看mysql是否安装成功!命令如下:

rpm -qa | grep mysql

如果安装成功展示如下:

登录mysql使用命令 :

mysql -uroot -p123456

3.1、查看skip_networking的状态

确保在主服务器上的skip_networking 选项处于OFF 关闭状态,这是默认值。

如果是启用,则从站无法与主站通信,并且复制失败。命令如下:

show variables like '%skip_networking%';

3.2、创建一个专门用来复制的用户

CREATE USER 'repl'@'%' identified by '123456';

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

3.3、配置从服务器

由于我的从服务器是192.168.10.101 所以我打对应的宝塔界面找到myql打开mysql管理--->点击配置修改 找到第35行 server-id 改为2

然后重启mysql

3.4、配置链接到主服务器的相关信息

在从服务器配置链接到主服务器的相关信息(在从服务器的mysql执行)

CHANGE MASTER TO MASTER_HOST='192.168.10.100',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='123456';

 你自己确认你的 ip 端口 用户名及密码  我这里为了方便全是最简单的。

启动从服务器的线程

start slave;

3.5、查看同步状态

show slave status \G;

如图所示只有1个yes表示链接失败 下面Last_IO_Error会描述具体错误信息。

你根据这个错误信息进行百度解决就行。像我这就是3306防火墙端口没有打开。点击左侧安全---->添加端口规则 就行。

解决问题 先关闭从服务器的线程:

stop slave;

然后再开启线程:

start slave;

然后再查看同步状态:

有2个YES  表示同步成功!

3.6、可视化界面测试

我这里使用的是 navicat对mysql进行可视化管理的

分别链接192.168.10.100与101的数据库

如果你们用root连接后并没有4个基础表,表示你的权限不够,是因为宝塔创建mysql的时候root有很多权限并没有授予,需要你自己使用ssh方式进入mysql执行以下命令:

use mysql; 
update user set Update_priv ='Y' where user = 'root';
update user set Select_priv ='Y' where user = 'root';
update user set Insert_priv ='Y' where user = 'root';
update user set Update_priv ='Y' where user = 'root';
update user set Delete_priv ='Y' where user = 'root';
update user set Create_priv ='Y' where user = 'root';
update user set Drop_priv ='Y' where user = 'root';
update user set Reload_priv ='Y' where user = 'root';
update user set Shutdown_priv ='Y' where user = 'root';
update user set Process_priv ='Y' where user = 'root';
update user set File_priv ='Y' where user = 'root';
update user set Grant_priv ='Y' where user = 'root';
update user set References_priv ='Y' where user = 'root';
update user set Index_priv ='Y' where user = 'root';
update user set Alter_priv ='Y' where user = 'root';
update user set Show_db_priv ='Y' where user = 'root';
update user set Super_priv ='Y' where user = 'root';
update user set Create_tmp_table_priv ='Y' where user = 'root';
update user set Lock_tables_priv ='Y' where user = 'root';
update user set Execute_priv ='Y' where user = 'root';
update user set Repl_slave_priv ='Y' where user = 'root';
update user set Repl_client_priv ='Y' where user = 'root';
update user set Create_view_priv ='Y' where user = 'root';
update user set Show_view_priv ='Y' where user = 'root';
update user set Create_routine_priv ='Y' where user = 'root';
update user set Alter_routine_priv ='Y' where user = 'root';
update user set Create_user_priv ='Y' where user = 'root';
update user set Event_priv ='Y' where user = 'root';
update user set Trigger_priv ='Y' where user = 'root';

执行效果如下:

然后重启mysql 你就发现root就有狠毒权限了。

3.6.1、主数据库创建一个数据库 text

从数据刷新

发现也会自动出现一个数据库为text。

3.6.2、主数据库 text创建一个名为textname的表格

发现从表也有一张一样的表格

主表填入值

从表也会展示相应的值

现在一主一从搭建完毕!

3.6.2、其他

如果你还想整一个从服务器 在安装流程3.3到3.5配置一套就可以

新建的从服务器,会自动保存主服务器之前的数据。(测试结果)

4、mysql双主双从搭建(主主复制)

如果你上面的主从复制搞定了,那么实现主主复制就很简单了。我们把上面的从服务器也改成主服务器。

1、修改上面的从服务器的my.cnf,和主服务器的一样(注意这个server-id不能一样)然后重启服务器(如果是宝塔安装的mysql当前步骤可以忽略

2、在从服务器里面创建一个复制用户创建命令一样(这里可以修改一下用户名为repl2)

CREATE USER 'repl2'@'%' identified by '123456';

GRANT REPLICATION SLAVE ON *.* TO 'repl2'@'%';

3、在之前的主服务器里面运行下面这个代码

CHANGE MASTER TO MASTER_HOST='192.168.10.101',MASTER_PORT=3306,MASTER_USER='repl2',MASTER_PASSWORD='123456';

start slave;

4、查看同步状态

show slave status \G;

双yes表示已经同步成功

5、测试

到此 主主同步已经实现! 如果你觉得对你有帮助请点赞 收藏谢谢!有什么更好的方式也可以在评论区评论!我会采集各位的意见的!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值