UEditor 微信小程序教程 树莓派USB 金融信贷 qt listview vcpkg vue最新版本 管理后台ui pmp学习视频 jq遍历 jquery事件绑定 python程序界面 erp项目描述 html好看的字体 maya曲线建模 div字体加粗 python环境 python取随机数 pythonset python的def python定义一个变量 java实战 java中的抽象类 java获取年份 java入门代码 java连接sql数据库 怎么安装linux系统 嵌入式linux驱动程序设计从入门到精通 微信小程序提示框 keytool下载 福昕阅读器绿色版 生存猎人属性 ansys安装教程 红米手机怎么连接电脑 dota2控制台 igfxtray 易语言数组 编译软件 qq号码生成器
当前位置: 首页 > 学习教程  > 编程语言

Mysql的主从配置

2021/1/28 23:24:30 文章标签:

一、Mysql主从 1.数据的备份 2.数据备份(可以从从服务器读数据) 二、主从配置-主上操作 1.将两个服务器安装mysql 拷贝文件到另一个虚拟机的命令为:scp /etc/my.cnf root192.168.130.139:/etc/ # /etc…

一、Mysql主从

1.数据的备份

2.数据备份(可以从从服务器读数据)

二、主从配置-主上操作

1.将两个服务器安装mysql

拷贝文件到另一个虚拟机的命令为:scp /etc/my.cnf root@192.168.130.139:/etc/

在这里插入图片描述
# /etc/init.d/mysqld start 启动mysql服务

服务启动失败时查看mysql.err: # vim /data/mysql/mysql01.err
在这里插入图片描述

有错误会在这里报错

一般有报错则是权限错误
在这里插入图片描述

一般是用户属组错误

2.修改my.cnf,增加server_id = 138和log_bin=zjlinux1。

在这里插入图片描述

3.然后重启mysql服务

在这里插入图片描述

然后查看/data/mysql/,会发现多出来两个文件
在这里插入图片描述

4.把mysql库备份并恢复成zj库,作为测试数据

# mysqldump -uroot mysql > /tmp/mysql.sql
在这里插入图片描述

然后创建一个库,把备份的数据导入进去
在这里插入图片描述

这时候查看/data/mysql,发现里面会多出一个zj的库
在这里插入图片描述

5.创建用作同步数据的用户

(1)首先在主服务器中进入数据库 # mysql -uroot
在这里插入图片描述

6.使用grant指定slave权限针对的是repl@192.168.130.139所有库所有表

mysql> grant replication slave on *.* to 'repl'@192.168.130.139 identified by 'password';

在这里插入图片描述

7.接下来要用flush把这个表锁住

flush tables with read lock;(解锁的语句是unlock tables;
在这里插入图片描述

目的是让目前的数据保持当前的状态,就是不让它继续往下写了。因为接下来往下做的时候会把从服务器的备份进行同步,两者保持一致这样才能实现同步。

8.然后查看一下它的状态

show master status;

在这里插入图片描述

三、主从配置-从上操作及配置解释

1.安装mysql

2.修改配置文件/etc/my.cnf ,server_id =139 ,和主服务器不同。

3.将备份传到从服务器中

# scp /tmp/mysql.sql root@192.168.130.139:/tmp/

在这里插入图片描述

4.在从服务器查看是否传入成功

在这里插入图片描述

5.然后将mysql的库导入同名库中

(1)先进入mysql中创建一个zj库
在这里插入图片描述

(2)退出mysql中后,将mysql库的内容导进来 # mysql -uroot zj < /tmp/mysql.sql
在这里插入图片描述

查看zj库
在这里插入图片描述

两边的数据应该是一致的
在这里插入图片描述
在这里插入图片描述

(3)实现主从
先将从服务关掉
在这里插入图片描述

关掉服务是因为要做主从非常关键的一步change master

mysql> change master to master_host='192.168.130.138',master_user='repl',master_password='123456',master_log_file='zjlinux1.000001',master_log_pos=645198; 

在这里插入图片描述

然后开启从服务
在这里插入图片描述

查看从服务器状态
在这里插入图片描述

若出现Slave_IO_Running: Connecting,则链接失败
可能有以下几种错误原因

  • 网络不通
  • 账户密码错误
  • 防火墙
  • pos不对

然后逐项排查
① 网络不通:因为从服务器是虚拟机,网卡选择了桥接模式,ip地址确认在同一网段中,且互ping能通,排除网络问题。
② 防火墙:关闭防火墙后重新查看,排除防火墙原因。
③ pos不对:这个也可以排除,因为pos内容在主库上拷贝过来,所以也将这个原因排除了。
④ 经过检查,是在change master的时候,将密码写错了。

解决步骤:
1)stop slave;
2)重新change从的参数

mysql> change master to master_host='192.168.130.138',master_user='repl',master_password='password',master_log_file='zjlinux1.000001',master_log_pos=645198; 

3)start slave;
4)show slave staus\G;
Slave_IO_Running:Yes
Slave_SQL_Running: Yes
连接成功Slave_IO_Running和Slave_SQL_Running显示为Yes
在这里插入图片描述

在从服务器中能登录主服务器的mysql

# mysql -uroot -p000000 -h192.168.130.138 -P3306

在这里插入图片描述

(4)现在两边的数据已经保持一致,然后应该在主服务器上做一个操作,将之前锁住的表解锁 unlock tables;
在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_650197.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?