mysql的主从复制配置

来源:互联网 发布:tsp贪心算法 编辑:程序博客网 时间:2024/05/16 18:23

一、安装Mysql

1.本地首先需要搭建一套mysql,可以使用集成环境。

2.需要单独在搭建mysql,用来做主从复制

3.解压安装包 [mysql-5.6.24-win32.1432006610.zip]

4.配置 mysql环境变量 (  修改PATH,添加 D:\MysqlServer5.6\bin )  

5. D:\MysqlServer5.6 目录下新建my.ini 配置文件

#mysqld 配置

port=3307

basedir=D:\Mysql_Server_5.6.24

datadir=D:\Mysql_Server_5.6.24\data

 

#日志配置

log-error=D:\MysqlServer5.6\logs\error.log 

log=D:\MysqlServer5.6\logs\mysql.log 

long_query_time=2 

log-slow-queries=D:\MysqlServer5.6\logs\slowquery.log 


6 . 使用管理员打开CMD窗口

跳转到mysql的bin目录:

   mysqld -install

7启动mysql服务。

 net start mysql   启动mysql服务

Net stop mysql   停止mysql服务


二、配置Mysql主从复制

1.添加一个mysql主从复制需要的账号

grant 权限 on数据库对象to用户

 

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*

TO mysql_backup@'%'

IDENTIFIED BY '123456';

 

flush privileges;

2.配置主服务器

mysql配置文件加入:

server-id=1     #为主服务器AID

log-bin=mysql-bin    #二进制变更日志


然后重启master,运行SHOW MASTER STATUS

3.配置从服务器

 

Slave的配置与master类似,你同样需要重启slaveMySQL。如下:

log_bin           = mysql-bin

server_id         = 2

relay_log          = mysql-relay-bin

log_slave_updates  = 1

read_only         = 1

/*

server_id是必须的,而且唯一。slave没有必要开启二进制日志,但是在一些情况下,必须设置,例如,如果slave为其它slavemaster,必须设置bin_log。在这里,我们开启了二进制日志,而且显示的命名(默认名称为hostname,但是,如果hostname改变则会出现问题)

relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自己的二进制日志(后面会看到它的用处)

有些人开启了slave的二进制日志,却没有设置log_slave_updates,然后查看slave的数据是否改变,这是一种错误的配置。所以,尽量使用read_only,它防止改变数据(除了特殊的线程)。但是,read_only并是很实用,特别是那些需要在slave上创建表的应用。

*/

4.运行执行

(我是在Navicat for MySQL中创建新的查询,执行的下面语句)

#查看主库状态(主库中执行)

Show slave status

#链接主库(从库中执行)

CHANGE MASTER TO master_host = '127.0.0.1',

 master_user = 'mysql_backup',

 master_password = '123456',

 master_log_file = 'mysql-bin.000001',

 master_log_pos = 3696;

#启动从库

Start slave

#停止从库

Stop slave

#查看从库状态

Show slave status


查看到

Slave_IO_Running:yes;

Slave_SQL_Running:yes;

证明配置成功!

0 0
原创粉丝点击