一、安装Mysql
1、解压
2、将解压的文件 放一个目录 (我是放在phpstudy目录下的)
3、配置 mysql环境变量 ( 修改PATH,添加E:\phpStudy\mysql-5.6.24\bin)
4、E:\phpStudy\mysql-5.6.24 目录下新建my.ini配置文件
[mysqld]
port=3307
basedir=E:\phpStudy\mysql-5.6.24
datadir=E:\phpStudy\mysql-5.6.24\data
//auto-increment-offset = 2 # 设定数据库中自动增长的起点
//auto-increment-increment=2 # 应设为整个结构中服务器的总数
5、打开cmd 进入E:\phpStudy\mysql-5.6.24\bin
Mysqld -install
net start mysql 启动mysql服务
Netstop mysql 停止mysql服务
net start mysql 启动mysql服务
服务保持开启
二、配置Mysql主从复制
1.添加一个mysql主从复制需要的账号
grant 权限 on 数据库对象 to 用户
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*
TO mysql_backup@'%'
IDENTIFIED BY '123456';
flush privileges; //刷新MySQL的系统权限相关表,否则会出现拒绝访问
2.配置主服务器
mysql配置文件加入:
server-id=1 #主服务器A的ID值
log-bin=mysql-bin #二进制变更日志
//auto-increment-offset= 1 # 设定数据库中自动增长的起点
//auto-increment-increment=2 # 应设为整个结构中服务器的总数
重启master,运行SHOW MASTER STATUS,输出如下
查看master数据库当前正在使用的二进制日志及当前执行二进制日志位置
3.配置从服务器
Slave的配置与master类似,修改配置同样需要重启slave的MySQL。如下:
log_bin =mysql-bin
server_id =2
relay_log = mysql-relay-bin
log_slave_updates= 1
read_only = 1
server_id是必须的,而且唯一。slave没有必要开启二进制日志,但是在一些情况下,必须设置,例如,如果slave为其它slave的master,必须设置bin_log。在这里,我们开启了二进制日志,而且显示的命名(默认名称为hostname,但是,如果hostname改变则会出现问题)。
relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自己的二进制日志(后面会看到它的用处)。
有些人开启了slave的二进制日志,却没有设置log_slave_updates,然后查看slave的数据是否改变,这是一种错误的配置。所以,尽量使用read_only,它防止改变数据(除了特殊的线程)。但是,read_only并是很实用,特别是那些需要在slave上创建表的应用。
#链接主库
CHANGE MASTER TO master_host='127.0.0.1',
master_user= 'mysql_backup',
master_password = '123456',
master_log_file = 'mysql-bin.000112',
master_log_pos= 2916;
#启动从库
Start slave
#停止从库
Stop slave
#查看从库状态
Show slave status
配置成功!0.0
配置成功,去测试