Linux两台服务器mysql数据库同步
我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价值千金啊),所以我们还是乖乖做同步把!
1、准备两台Linux服务器(主、从)
2、安装好Mysql
3、在配置文件/etc/my.cnf(MySQL中为mysql.ini)修改开启二进制日志
log-bin=mysql-bin 修改方法:打开配置文件后在 [mysqld]中添加内容: server-id = #确保在整个MySQL集群中唯一 log-bin=/var/log/mysql/mysql-bin.log #日志存放位置 log-bin-index = binlog.index
4、重启mysql服务
service mysql restart
5、查看配置是否正常
show variables like 'log-bin';
6.开始主从复制
第一步:在主服务器中创建一个从服务器中可以登陆的MySQL用户
mysql>GRANT REPLICATION SLAVE ON *.*TO '用户名'@'从服务器ip' IDENTIFIED BY '密码'; mysql>FLUSH PRIVILEGES;
第二步:查看主服务器MySQL二进制文件名和位置
mysql> SHOW MASTER STATUS;
第三步:告知二进制文件名和位置
在从服务器中执行(注意标点符号,最后才是分号)
mysql > CHANGE MASTER TO
>MASTER_HOST='主服务器地址',
>MASTER_USER='创建的用户名',
>MASTER_PASSWORD='密码',
>MASTER_LOG_FILE='mysql-bin.000048(根据自己的修改)',
>MASTER_LOG_POS=(自己修改);
完成主从复制;
7、测试主从复制
在从服务器中执行
mysql > START SLAVE; #开启复制mysql
> SHOW SLAVE STATUS\G; #查看主从复制是否成功
当看到Slave_IO_Running: YES、Slave_SQL_Running:
YES才表明状态正常
8、实际测试:
登陆主服务器主MySQL:show database;
登陆从服务器MySQL:show databases;
主数据库进行如下操作:
(1)创建数据库和表
create database test; use test; create table tab1(id int auto_increment,name varchar(),primary key(id)); show databases; show tables;
(2)从数据库也查看数据库和表,看数据是否同步了
9、出错请看
问题一:mysql服务器启动不了
出错:Starting MySQL... ERROR! The server quit without updating PID file
解决办法:找到mysql安装目录下面的data目录,删除mysql-relay-log.index
问题二:不能同步
进入slave服务器,运行:
mysql > show slave status\G;
.......
解决办法一:
Slave_SQL_Running: No
1.程序可能在slave上进行了写操作
2.也可能是slave机器重起后,事务回滚造成的.
一般是事务回滚造成的:
解决办法二:
mysql > stop slave; mysql > set GLOBAL SQL_SLAVE_SKIP_COUNTER=; mysql > start slava;
注意:如果实在不行就在从服务器里边执行如下操作
mysql > stop slave;
>reset slave;
> 重新配置同步(见第六步)
>start slave;
至此数据库同步完成!
当你发现自己的才华撑不起野心时,就请安静下来学习吧!
Linux两台服务器mysql数据库同步的更多相关文章
- linux下两台服务器文件实时同步方案设计和实现
inux下两台服务器文件实时同步方案设计和实现 假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器 有目录 /opt/test/ 192.168.0.2 目标服务器 有目录 /o ...
- mysql 忘记密码,赋予用户权限,两台服务器的数据库之间快速导入
mysql 忘记密码: 1.首先service mysql stop mysqld --skip-grant-tables & 开启数据库 然后就可以mysql -uroot 直接进数据库, ...
- Centos 6.5 rsync+inotify 两台服务器文件实时同步
rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...
- 【原】linux两台服务器之间免密登录方法
搭建集群机器192.168.0.100和192.168.0.200里,需要两台机器中间相互拷贝文件: 方式一:下载192.168.0.100机器文件到本地,再将本地文件拷贝到B机器 方式二:192.1 ...
- Linux 两台服务器之间传输文件和文件夹
今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...
- linux下两台服务器文件实时同步方案实现-乾颐堂
假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器 有目录 /opt/test/ 192.168.0.2 目标服务器 有目录 /opt/bak/test/ 实现的目的就是保持这两 ...
- Linux 两台服务器之间传递文件
参考: https://www.cnblogs.com/clovershell/p/9870603.html linux采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器 // 假设远程服务器 ...
- linux两台服务器之间文件/文件夹拷贝
跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹t ...
- Linux 两台服务器之间传输文件
一.scp命令的使用 1.传输文件(不包括目录) 命令格式:scp 源文件路径目录/需要传输的文件 目标主机的用户名@目标主机IP/主机别名:目标主机存储目录 举个例子:scp /root/ceshi ...
随机推荐
- KNN算法基本原理与sklearn实现
''' KNN 近邻算法,有监督学习算法 用于分类和回归 思路: 1.在样本空间中查找 k 个最相似或者距离最近的样本 2.根据这 k 个最相似的样本对未知样本进行分类 步骤: 1.对数据进行预处理 ...
- pandas_一维数组与常用操作
# 一维数组与常用操作 import pandas as pd # 设置输出结果列对齐 pd.set_option('display.unicode.ambiguous_as_wide',True) ...
- PHP chunk_split() 函数
实例 在每个字符后分割一次字符串,并在每个分割后添加 ".": <?php$str = "Hello world!";高佣联盟 www.cgewang.c ...
- luogu3706 [SDOI2017]硬币游戏
LINK:硬币游戏 对于40分的暴力 构造出AC自动机 列出转移矩阵 暴力高消.右转上一篇文章. 对于100分 我们不难想到这个矩阵过大 且没有用的节点很多我们最后只要n个节点的答案 其他节点的答案可 ...
- java多线程编程实例
[转]这篇文章主要介绍了java多线程编程实例,分享了几则多线程的实例代码,具有一定参考价值,加深多线程编程的理解还是很有帮助的,需要的朋友可以参考下. 1.三个售票窗口同时出售20张票程序分析: ...
- SpringBoot中使用AOP打印接口日志的方法(转载)
前言 AOP 是 Aspect Oriented Program (面向切面)的编程的缩写.他是和面向对象编程相对的一个概念.在面向对象的编程中,我们倾向于采用封装.继承.多态等概念,将一个个的功能在 ...
- Android Studio项目组织结构
任何一个新建的项目都会默认使用一个Android模式的项目结构,这个结构是被Android Studio转换过的,适合快速开发,但不易于理解,切换到Project模式后如下: 重点认识一下重要的几个文 ...
- 配置Django-TinyMCE组件支持上传图片功能
Django自带的Admin后台,好用,TinyMCE作为富文本编辑器,也蛮好用的,这两者结合起来在做博客的时候很方便(当然博客可能更适合用Markdown来写),但是Django-TinyMCE这个 ...
- Ant Design Pro入门教程,安装,运行(V5 Typescript版)
[前言] 找了很多Admin模板,最后还是看中了AntDesignPro这个阿里巴巴开源的Admin框架,长这样(还行吧,目前挺主流的): 官网地址:https://pro.ant.design/in ...
- C# ASP 分析器错误信息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
在本地运行的应用,部署到服务器上出现错误.原因是web.config 中:<compilation debug="true" targetFramework="4. ...