当前位置:网站首页>MySQL数据库主从配置
MySQL数据库主从配置
2022-07-30 19:30:00 【bsegebr】
一丶安装MySQL数据库
二丶修改主数据库配置
1.在/etc/my.cnf中设置服务id(注:保证与从数据库不一致),重启数据库
2.查询数据库master的基本数据,记录保存备用;
(1).mysql -u(userName)-p 进入数据库命令行
(2).输入show master status; 查询master数据
记录file,Position数据 文件“binlog.000015”和偏移量“2832”;
3.创建一个可以跨域的账户,以保证从服务器可以登陆主服务器的mysql数据库
create user ‘rep’@’%’ identified by ‘1234567’; ----创建从服务器同步用的mysql用户
grant replication slave,replication client on . to ‘rep’@’%’; ----授权创建的用户权限
(注:如果是mysql8.0以上版本,需要修改加密方式,命令如下:alter user ‘root’@’%’ identified with mysql_native_password by ‘root’;)
flush privileges; ------ 立即刷新权限 让权限更改立即生效
三丶修改从数据库配置
1.在从服务器安装数据库(保证与主数据库版本一致)
2.跨域登陆主数据库,保证新建跨域账户可用 mysql -h “ip” -u"userName" -p
进入mysql数据行则表示链接成功
3.修改从数据库配置,server_id 保证与主数据库不一致,重启数据库
4.如果是新安装的数据库,不需要处理,直接进行主从关系设置,如果数据库内有数据,需要先进行同步初始化,即保证主从数据库内容一致;
5.进入命令行进行主从关系设置
change master to master_host=‘主数据库所在服务器的ip’,master_user=‘设置的跨域账户的账户名’,master_password=‘密码’,master_log_file=‘主数据库master中的file名称’,master_log_pos=‘主数据库master的偏移量’;
6.启动从服务器进程
start slave;
7.查看从服务器进程状态
show slave statusG;
Slave_IO_Running:写入状态
Slave_SQL_Running:本地数据库运行状态
当连个状态均为yes时,证明数据库主从状态设置成功
(1)如果Slave_IO_Running状态为connecting时,查看两个服务器的通讯状态,如果ping的结果正常,查看两台服务器的防火墙状态,调整防火墙的外来访问权限或者直接关闭防火墙(主从服务器均需要调整);
如果Slave_IO_Running的状态为No时,需要查看错误信息,日志中错误信息过多,可以产看slave状态中显示的最近一条
根据错误信息进行处理;
(2)如果Slave_SQL_Running状态为No时,一般是主从数据库的初始数据不一致导致的
这种状态时可以尝试关闭从数据库进程;
stop slave;
通过主数据库备份,导入从数据库,使主从数据库一致后,重新启动;
start slave;
查看从数据库状态;
如果依然报错可以执行跳过进程命令;
set global sql_slave_skip_counter=1;
重新弄启动后查询状态,相同类型的报错就重复执行跳过命令,一般调2-3次即可;
四丶测试
当状态显示正常后,即可在主数据库进行数据库的增删改查,然后在从数据库进行查看数据库的数据状态,同步变化则主从配置完成。
五丶基于gtid的主从关系
在配置主数据库的设置文件时,需要配置以下参数:
从数据库设置文件,配置参数如下:
在更改从数据库master参数时,将master_log_file和master_log_pos参数替换为master_auto_position参数(1.使用基于GTID的复制时MASTER_AUTO_POSITION = 1 2.使用GTID后想要恢复到老的基于文件的复制协议MASTER_AUTO_POSITION = 0);
修改完成后开启从数据库进程,start slave;查看从数据库的运行状态,show slave statusG;
状态正常,进行测试即可;
参考:https://zhuanlan.zhihu.com/p/335142300
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- - daily a LeetCode 】 【 191. A number of 1
- MindSpore:【MindSpore1.1】Mindspore安装后验证出现cudaSetDevice failed错误
- 卫星电话是直接与卫星通信还是通过地面站?
- 7.30模拟赛总结
- MindSpore:ImageFolderDataset数据读取问题
- 阿里面试官:给我描述一下缓存击穿的现象,并说说你的解决思路?
- VBA 运行时错误‘-2147217900(80040e14):自动化(Automation)错误
- The Meta metaverse division lost 2.8 billion in the second quarter!Still want to keep betting?Metaverse development has yet to see a way out!
- redis
- MindSpore:自定义dataset的tensor问题
猜你喜欢
The Meta metaverse division lost 2.8 billion in the second quarter!Still want to keep betting?Metaverse development has yet to see a way out!
The advanced version of the Niu Ke brushing series (team competition, sorting subsequences, inverting strings, deleting common characters, repairing pastures)
VBA batch import Excel data into Access database
【hbuilder】运行不了部分项目 , 打开终端 无法输入指令
centos7安装mysql8
golang日志库zerolog使用记录
【Node实现数据加密】
牛客刷题系列之进阶版(搜索旋转排序数组,链表内指定区间反转)
vxe-table实现复选框鼠标拖动选中
Alibaba Cloud Martial Arts Headline Event Sharing
随机推荐
WEBSOCKETPP使用简介+demo
Scala学习:breakable
MindSpore:mindspore有没有类似tf.GradientTape()用来求解梯度的?
Delay queue optimization (2)
试写C语言三子棋
[TypeScript]编译配置
VBA runtime error '-2147217900 (80040e14): Automation error
MindSpore:【MindSpore1.1】Mindspore安装后验证出现cudaSetDevice failed错误
Correct pose of Vulkan open feature
阿里云武林头条活动分享
Start background services across processes
SimpleOSS第三方库libcurl与引擎libcurl错误解决方法
The use of @ symbol in MySql
MindSpore:Cifar10Dataset‘s num_workers=8, this value is not within the required range of [1, cpu_thr
MindSpore:【JupyterLab】按照新手教程训练时报错
Day31 LeetCode
延时队列优化 (2)
防抖和节流有什么区别,分别用于什么场景?
阿里面试官:给我描述一下缓存击穿的现象,并说说你的解决思路?
MySQL database - DQL data query language