首頁 >資料庫 >mysql教程 >mysql复制功能――“master-slave”结构_MySQL

mysql复制功能――“master-slave”结构_MySQL

WBOY
WBOY原創
2016-06-01 13:32:15939瀏覽

bitsCN.com

mysql复制功能——“master-slave”结构

一、配置主服务器

1.my.ini中添加内容

mysql复制功能――“master-slave”结构_MySQL

2.创建“复制权限”的账号

 创建账号

mysql复制功能――“master-slave”结构_MySQL

mysql复制功能――“master-slave”结构_MySQL

 

 给创建的账号授予“待复制数据库”上所有的操作权限

mysql复制功能――“master-slave”结构_MySQL

 查看所有用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

mysql复制功能――“master-slave”结构_MySQL

查看用户权限

mysql复制功能――“master-slave”结构_MySQL

3.重启mysql服务

二、配置从服务器

1.my.ini中添加内容

 mysql复制功能――“master-slave”结构_MySQL

 注:从库my.ini的配置中,Mysql5.5版本以上不再支持master的用法,比如5.1

 中可用的(master-user = repl;master-password = repl;master-port = 3307),

 如果在mysql5.5版本以上中使用该语法会导致,mysql服务无法启动。

  2.重启mysql服务器

  3.开启从库复制功能

 a)关闭从库复制功能

stop slave;

mysql复制功能――“master-slave”结构_MySQL

 b)设置主库连接串

 

change master to
master_host="10.0.0.10",
master_port=3306,
master_user="slave1",
master_password="feng"
;

 

mysql复制功能――“master-slave”结构_MySQL

 注:出现警告是没关系的,只是密码是明文等提示。

  此处还可指明“主库”二进制文件名和位置

 eg:mysql复制功能――“master-slave”结构_MySQL

  查看主库信息可用以下命令完成:

 mysql复制功能――“master-slave”结构_MySQL

c)打开从库复制功能

start slave;

mysql复制功能――“master-slave”结构_MySQL

 d)查看从库状态

mysql复制功能――“master-slave”结构_MySQL

三、测试

 1.连接到主库上,插入一行数据

mysql复制功能――“master-slave”结构_MySQL

mysql复制功能――“master-slave”结构_MySQL

2.在从库上执行查询

mysql复制功能――“master-slave”结构_MySQL

mysql复制功能――“master-slave”结构_MySQL

四、说明

1.版本问题

从库的版本>=主库的版本

  本实验中:主库

 mysql复制功能――“master-slave”结构_MySQL

从库

 mysql复制功能――“master-slave”结构_MySQL

 2.第一次配置从库时,从库中不应该存在“待复制的数据库名”

第一次start slave时,会在从库上创建该数据库,如果已经存在会出现无法创建数据库的错误

 mysql复制功能――“master-slave”结构_MySQL

此时,从库上的SQL线程无法启动

 mysql复制功能――“master-slave”结构_MySQL


bitsCN.com
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn