Linux-MySQL主从架构部署

原创 麻木  2020-05-11 10:58:07  阅读 186 次 评论 0 条
麻木博客

点击播放按钮播放音乐《夏天的风》

摘要:

注意:
个别图片加载过慢,请等待一两秒

需要用到

image.png

IP记得自动重启了或者一段时间后租期到了P会变

image.png

image.png

有把握一次性做完就自动获取,没把握可以设置手动IP

image.png

分别设置两台服务器的主机名为masterslave

 image.png

image.png

关闭防火墙与SELinux两台均需要

systemctl stop firewalld         //关闭防火墙

systemctl disable firewalld       //开机禁止自启动防火墙

setenforce 0                       //关闭setenforce 0

 vim /etc/selinux/config     //编辑配置文件   

SELINUX=disabled         //永久关闭setenforce 0

image.png

MariaDB安装与基本配置(两台均需要

 yum  -y  install  mariadb  mariadb-server

创建数据库目录命令:

mkdir –p /data/database

chown –R mysql:mysql /data/database

master!!配置文件/etc/my.cnf

vim /etc/my.cnf

修改添加如下内容

port=3307

datadir=/data/database

max_connection=1000

skip-name-resolve

server-id=1

log-bin=mysql-bin-master

image.png

slave!!配置文件/etc/my.cnf

vim /etc/my.cnf

修改添加如下内容

port=3307

datadir=/data/database

max_connection=1000

skip-name-resolve

server-id=2

image.png

启动mariadb数据库(两台都需要)

systemctl start mariadb

数据库初始化(两台都需要

mysql_secure_installation

image.png

查看数据库状态

systemctl status mariadb

查看是否running

image.png

主从同步用户创建(两台都)

mysql -u root -p密码

grant replication slave on *.* to 'sync'@'%'identified by 'sync123';

flush privileges;

use mysql;

select host,user,password,repl_slave_priv from user where user='sync';

image.png

查询master的状态信息,找到进行二进制日志同步的位置

show master status;

image.png

slave输入进行同步的主数据库master的相关参数并执行

change master to

master_host='192.168.124.129',

master_user='sync',

master_password='sync123',

master_port=3307,

master_log_file='mysql-bin-master.000004',

master_log_pos=1707,

master_connect_retry=10;

image.png

确保防火墙关闭

systemctl stop firewalld  

确保setenforce 0 关闭

setenforce 0 

查询slave状态

slave重启mariadb服务

systemctl restart mariadb

image.png

然后使用

show slave status\G:命令查看从数据库状态

正确的状态如下:

  • Slave_IO_State必须为等待master发送事件

  • slave_IO_Running状态为Yes

  • slave_SQL_Running状态为Yes


image.png

image.png

赋予用户通过远程登录数据库的权限

既然要通过第三方工具对MariaDB进行管理,因此就要赋予用户通过远程登录数据库的权限。例如:远程通过root用户登录和管理MariaDB用户权限设置

mysql -u root -p密码

use mysql;

grant all privileges on *.* to 'root'@'%' identified by '123456';

 flush privileges;

image.png

select host,user,password from user;

image.png

使用第三方工具登录MySQL

Navicat是一套快速、可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。

麻木博客微信公众号回复: Navicat  即可下载Navicat

image.png

声明:

本站提供的所有软件及PJ补丁等资源均来自网络,仅用于学习用,请勿用于商业用途!

不推荐安装C盘

image.png

我安装到了D盘

image.png

image.png

注意广告就不要勾选,取消勾选选择完成!

image.png

桌面出现Navicat for MySQL的快捷方式

image.png

添加Master和slave用户

ip分别是master与slave的主机ip

端口3307!!!!!

root登陆

密码前面设置的123456

image.png

image.png

导入测试数据

下面我们向master导入一组测试数据,

麻木博客微信公众号回复:test_db-master 下载test_db-master

image.png

安装文件上传管理工具

yum install –y lrzsz

默认已经集成安装完成

image.png

将下载的test_db-master.zip进行上传

xshell在master那台界面输入rz

弹出上传界面,将test_db文件上传

image.png

image.png

解压缩zip包unzip test_db-master.zip

image.png

运行SQL文件

 cd /root/test_db-master

 mysql-uroot-p123456 < employees.sql  //这里密码是原root的密码,不是后面数据库设置的

image.png

打开数据库可以看的上传数据成功

image.png

打开相应的表即可查询数据信息

select * from departments

image.png

不知道怎么查的可以看下面GIF

select * from departments

ssw.gif

slave查看数据状态同步

root登陆数据库

mysql -u root -p密码

show slave status\G:

image.png

打赏 支付宝打赏 微信打赏
本文地址:https://www.mamublog.cn/post/132.html
版权声明:本文为原创文章,版权归 麻木 所有,欢迎分享本文,转载请保留出处!

推荐文章

麻木博客
麻木博客

发表评论


表情

还没有留言,还不快点抢沙发?