欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-14 20:33:32
...
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
相关标签: mysql