我们在做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数据库同步的更多相关文章

  1. linux下两台服务器文件实时同步方案设计和实现

    inux下两台服务器文件实时同步方案设计和实现 假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器  有目录 /opt/test/ 192.168.0.2 目标服务器  有目录 /o ...

  2. mysql 忘记密码,赋予用户权限,两台服务器的数据库之间快速导入

    mysql 忘记密码: 1.首先service mysql stop mysqld --skip-grant-tables &  开启数据库 然后就可以mysql -uroot 直接进数据库, ...

  3. Centos 6.5 rsync+inotify 两台服务器文件实时同步

    rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...

  4. 【原】linux两台服务器之间免密登录方法

    搭建集群机器192.168.0.100和192.168.0.200里,需要两台机器中间相互拷贝文件: 方式一:下载192.168.0.100机器文件到本地,再将本地文件拷贝到B机器 方式二:192.1 ...

  5. Linux 两台服务器之间传输文件和文件夹

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...

  6. linux下两台服务器文件实时同步方案实现-乾颐堂

    假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器  有目录 /opt/test/ 192.168.0.2 目标服务器  有目录 /opt/bak/test/ 实现的目的就是保持这两 ...

  7. Linux 两台服务器之间传递文件

    参考: https://www.cnblogs.com/clovershell/p/9870603.html linux采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器   // 假设远程服务器 ...

  8. linux两台服务器之间文件/文件夹拷贝

    跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹t ...

  9. Linux 两台服务器之间传输文件

    一.scp命令的使用 1.传输文件(不包括目录) 命令格式:scp 源文件路径目录/需要传输的文件 目标主机的用户名@目标主机IP/主机别名:目标主机存储目录 举个例子:scp /root/ceshi ...

随机推荐

  1. PHP - AJAX 与 MySQL-AJAX 数据库实例

    PHP - AJAX 与 MySQL AJAX 可用来与数据库进行交互式通信. AJAX 数据库实例 下面的实例将演示网页如何通过 AJAX 从数据库读取信息: 本教程使用到的 Websites 表 ...

  2. PHP array_unique() 函数

    实例 移除数组中重复的值: <?php$a=array("a"=>"red","b"=>"green" ...

  3. PHP image_type_to_extension - 获取图片后缀

    image_type_to_extension — 根据指定的图像类型返回对应的后缀名.高佣联盟 www.cgewang.com 语法 string image_type_to_extension ( ...

  4. PHP mysqli_ssl_set() 函数

    实例 创建 SSL 连接: <?php高佣联盟 www.cgewang.com$con=mysqli_init();if (!$con){die("mysqli_init failed ...

  5. 使用FreeSurfer进行脑区分割

    FreeSurfer 是美国哈佛-麻省理工卫生科学与技术部和马萨诸塞州总医院共同开发的一款磁共振数据处理软件包,是基于 Linux 平台的全免费开源软件.FreeSurfer 能完成对高分辨率的 MR ...

  6. 电脑小知识:Windows 10是用什么语言写的?到底有多少行代码?

    这是微软的内核工程师 Axel Rietschin在Quora的一个回答. Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Wi ...

  7. 7.6 NOI模拟赛 灯 根号分治

    比较容易想的题目~ 容易发现 点亮一种颜色的贡献=新增灯的数量-已经存在的边的条数. 用线段树维护并不容易.暴力的话复杂度是\(Q\cdot n\)的. 考虑根号分治 只单纯考虑度数<B的点的话 ...

  8. async和await的使用总结 ~ 竟然一直用错了c#中的async和await的使用。。

    对于c#中的async和await的使用,没想到我一直竟然都有一个错误.. ..还是总结太少,这里记录下. 这里以做早餐为例 流程如下: 倒一杯咖啡. 加热平底锅,然后煎两个鸡蛋. 煎三片培根. 烤两 ...

  9. 重学c#系列——异常续[异常注意事项](七)

    前言 对上节异常的补充,也可以说是异常使用的注意事项. 正文 减少try catch的使用 前面提及到,如果一个方法没有实现该方法的效果,那么就应该抛出异常. 如果有约定那么可以按照约定,如果约定有歧 ...

  10. Proteus 8使用 1新建一个Proteus工程

    新建一个Proteus工程 下一步 创建部分结束,可以看到两部分-->原理图与源代码. 首先按下F7或从“构建”菜单中选择“构建工程” 之后切换到原理图窗口 按下F12或点击窗口最左下角的“运行 ...