返回顶部

MYSQL主从配置(主从热备份)

备份主服务器原有数据到从服务器

1. 如果在设置主从同步前,主服务器上已有大量数据,可以使用 mysqldump 进 行数据备份并还原到从服务器以实现数据的复制

cd ~/Desktop/
 
mysqldump -uroot -pmysql --all-databases --lock-all-tables >  ./master_db.sql

ls

-u :用户名 -p :示密码 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 --all-databases :导出所有数据库 --lock-all-tables :执行操作时锁住所有表,防止操作时有数据修改 ~./master_db.sql :导出的备份数据(sql 文件)位置,可自己指定.

2. 在从服务器 Windows 上进行数据还原

  找到 Windows 上 mysql 命令的位置

  新打开的命令窗口,在这个窗口中可以执行类似在 Ubuntu 终端中执行的 mysql 命令。

  将从主服务器 Ubuntu 中导出的文件复制到从服务器 Windows 中,可以将 其放在上面 mysql 命令所在的文件夹中,方便还原使用。

 

 

在刚打开的命令黑窗口中执行还原操作:

mysql -uroot -pmysql < master_db.sql

  

mysql -uroot -pmysql

show databases;

  

 

配置主服务器 master(Ubuntu 中的 MySQL)

  编辑设置 mysqld 的配置文件,设置 log_bin 和 server-id

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

  把配置文件中的 server-id和下面log_bin的注释去掉

  然后把默认的只能链接本机的 注释  # bin-adress 127.0.0.1

,  shift+:x退出

  重启 mysql 服务

sudo service mysql restart

  

  登入主服务器 Ubuntu 中的 mysql,创建用于从服务器同步数据使用的帐号

 

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';


FLUSH PRIVILEGES;

  

 

  

  获取主服务器的二进制日志信息

show master status;

  

   File 为使用的日志文件名字,Position 为使用的文件位置,这两个参数 须记下,配置从服务器时会用到。

  配置从服务器 slave(Windows 中的 MySQL)

  找到 Windows 中 MySQL 的配置文件

 

  编辑 my.ini 文件,将 server-id 修改为 2,默认的是1并保存退出。

 

  可以在开始菜单中输入 services.msc 找到并运行。

在打开的服务管理中找到 MySQL57,并重启该服务

  进入 windows 的 mysql,设置连接到 master 主服务器

mysql -uroot -p

  如果以前执行过配置的话要停止

stop slave

  

设置连接到 master 主服务器、

 

 

change master to master_host='192.168.228.133', master_user='slave',
master_password='slave',master_log_file='mysql-bin.000006',
master_log_pos=2060 ;

  

 

master_host:主服务器 Ubuntu 的 ip 地址 master_log_file: 前面查询到的主服务器日志文件名 master_log_pos: 前面查询到的主服务器日志文件位置

开启同步,查看同步状态

start slave

  

show slave status \G

  

测试主从同步

  在 Ubuntu 的 MySQL 中(主服务器)创建一个数据库

create database dailyfresh_13 default charset=utf8;

show databases;

  

  在 Windows 的 MySQL 中(从服务器)查看新建的数据库是否存在。

show databases;

  

 

posted @ 2017-10-17 21:08  Crazymagic  阅读(5795)  评论(0编辑  收藏  举报