版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/czh0423/article/details/26720539

一、准备
用两台server做測试:
Master Server: 192.0.0.1/Linux/MYSQL 4.1.12
Slave Server: 192.0.0.2/Linux/MYSQL 4.1.18
   
    做主从server的原则是,MYSQL版本号要同样,假设不能满足。最起码从server的MYSQL的版本号必须高于主server的MYSQL版本号

二、配置masterserver
1. 登录Masterserver,编辑my.cnf
#vim /etc/my.cnf
在[mysqld]段加入下面内容:

[mysqld]
log-bin=mysql-bin
server-id=1
binlog-do-db=extmail
binlog-ignore-db=mysql,test

解释:log-bin项是让Masterserver记录二进制日志这个是必须的;
server-id=master_id 当中master_id必须为1到232–1之间的一个正整数值;
binlog-do-db=database 是要记录日志的数据库;
binlog-ignore-db 是不要记录日志的数据库名,多个数据库中间用逗号(,)隔开。

2.从masterserver加入要从slaveserver訪问masterserver的有权限的帐号,看下面命令就知道了:

mysql> grant replication slave on *.*
-> to 'abc'@'192.0.0.2' identified by '123';

格式:mysql> GRANT REPLICATION SLAVE ON *.*
   -> TO '帐号'@'从serverIP或主机名' IDENTIFIED BY '密码';

3. 重起Mysql

4. 备份master数据库数据

# mysqldump --master-data extmail > extmail_backup_20071120.sql

要加--master-data 选项。这里备份masterserver的数据,后面要导入slaveserver。

5. 察看Master状态

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |       79 | extmail      | mysql,test       |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

三、配置slaveserver
1. 编辑my.cnf
# vim /etc/my.cnf

在[mysqld]段加入下面内容:

server-id=2
master-host=192.0.0.1
master-port=3306
master-user=abc
master-password=123
master-connect-retry=60

解释:
slaveserver的server-id不能与master同样,多台slave之间server-id也不能同样。

master-host 是 masterserver的主机名或者IP地址
master-user和master-password是前面我们在master上建username与password
master-connect-retry 是假设从server发现主server断掉。又一次连接的时间差

2. 把从主数据库server备份出来的数据库导入到从server中,也就是我们前面的extmail_backup_20071120.sql

# mysqladmin create extmail
# mysql extmail < extmail_backup_20071120.sql

3. 重起mysqlserver
4. 停止slave服务,设置主server的各种參数

mysql> slave stop;
mysql> change master to
-> MASTER_HOST='192.0.0.1',
-> MASTER_USER='abc',
-> MASTER_PASSWORD='123',
-> MASTER_LOG_FILE='mysql-bin.000002',
-> MASTER_LOG_POS=79;
mysql> slave start;

5. 查看主从server的状态
show slave status;
SHOW PROCESSLIST;
显示下面内容时,主从server配置成功
Slave_IO_State: Waiting for master to send event
Slave_IO_Running: 必须为 Yes
Slave_SQL_Running:必须为 Yes

6.手动同步数据,会自己主动建立数据库,须要设置用户ylmf对应权限
LOAD DATA FROM MASTER。

linux下 mysql主从备份的更多相关文章

  1. Linux下MySQL的备份与还原

    Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...

  2. linux下mysql定时备份数据库

    linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...

  3. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

  4. Linux下MySQL主从同步配置

    Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...

  5. Linux下Mysql数据库备份

    今天一同事的电脑无缘无故坏了,找了IT部门检测说是硬盘坏了,数据无法恢复.好悲剧.自己博客也写了好久不容易,要是突然间数据丢了那怎么办!于是写了个数据库自动备份脚本,并创建任务计划,实现每天22:30 ...

  6. [转载]linux下mysql 自动备份

    ySQL :: Linux 下自动备份数据库的 shell 脚本Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其 ...

  7. linux 下 mysql 主从配置

    话不多说,直接干. 准备条件:安装两个mysql数据库,随便哪个作主库,另一个从库. 1.在主库创建 复制用的账号 grant replication slave ,replication clien ...

  8. Linux下mysql定时备份及恢复

    备份 1.数据库定时备份工作脚本:(日期时间作为名称的压缩文件,解压开是sql脚本) /root/backup/script/backup_mysql.sh 2.备份输出路径: /root/backu ...

  9. linux 的mysql 主从备份

    1.原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把mast ...

随机推荐

  1. 170301、使用Spring AOP实现MySQL数据库读写分离案例分析

    使用Spring AOP实现MySQL数据库读写分离案例分析 原创 2016-12-29 徐刘根 Java后端技术 一.前言 分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案 ...

  2. 使用yum安装php72

    1.执行yum search php72w查看自己的yum源有没有php72 如果自己有安装其它php版本先执行yum -y remove php* 2.没有php72执行以下命令扩展yum库,以下命 ...

  3. OC 构造方法(对象初始化)

    一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返 ...

  4. asp.net文件压缩,下载,物理路径,相对路径,删除文件

    知识动手实践一次,就可以变成自己的了.不然一直是老师的,书本的. 这几天做了一个小小的项目,需要用到文件下载功能,期初想到只是单个的文件,后面想到如果很多文件怎么办?于是又想到文件压缩.几经波折实践, ...

  5. .net下4款不错的微信SDK

    .net下4款不错的微信SDK: 一款值得推荐的.Net微信开发SDK http://www.17ky.net/soft/474.html.Net微信公开帐号接口 WeiXinSDK http://w ...

  6. 往SD卡中写文件的方法。

    package com.lixu.writetosd; import java.io.File; import java.io.FileOutputStream; import java.io.IOE ...

  7. MyEclipse移动开发教程:设置所需配置的iOS应用(一)

    MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 一.iOS应用程序配置要求 这个进程需要四个需求数据文件: 证书签名请求(CSR)文件 证书签名请 ...

  8. 一些java的部署执行编译等命令

    编译: javac 参数 -d 指定编译后文件的位置 java 执行java文件 java生成jar文件 java执行jar文件 java生成war文件 war包是一种将web程序捆绑到单个文件上的一 ...

  9. css 兼容 各类手机的写法 待续

    @media (device-height:480px) and (-webkit-min-device-pixel-ratio:2){/* 兼容iphone4/4s */ .class{} } @m ...

  10. html input元素

    1.单选框复选框 html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选.请看下面的例子: 语法:<input type= ...