一、安装Mysql
1.本地首先需要搭建一套mysql,可以使用集成环境。
2.需要单独在搭建mysql,用来做主从复制
3.下载安装太麻烦这里可以直接复制phpStudy或者WAMP集成环境里的MySQL
4.配置 mysql环境变量 ( 修改PATH,添加 D:\MysqlServer5.6\bin )
5. 打开D:\MysqlServer5.6 目录下my.ini 配置文件(注意修改端口号)
以下只展示了部分配置,也是需要修改的配置
[client]port=3308
[mysql]
default-character-set=gbk
[mysqld]
port=3308
basedir="D:/MySQL/"
datadir="D:/MySQL/data/"
6.使用管理员打开CMD窗口,跳转到mysql的bin目录:
执行 mysqld -install
7.启动mysql服务。
net start mysql 启动mysql服务
net stop mysql 停止mysql服务
Windows 添加服务: [ 防止2个mysql服务冲突 ]
注释:用管理员方式打开cmd直接执行以下命令
sc create mysql2server binPath= "E:\MysqlServer5.6\bin\mysqld.exe" TYPE= "own" start= "auto" TAG= "no" DisplayName= "mysql2server SERVICES"
如图:
二、配置Mysql主从复制
1.添加一个mysql主从复制需要的账号
在主库执行grant 权限 on数据库对象to用户
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*
TO mysql_backup@'%'
IDENTIFIED BY '123456';
mysql> flush privileges;
2.配置主服务器
主库mysql配置文件加入:
server-id=1
log-bin=mysql-bin
server-id:为主服务器A的ID值
log-bin:二进制变更日值
重启master,运行SHOW MASTER STATUS,输出如下:
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上创建表的应用。
#停止从库
mysql> stop slave;
#链接主库
mysql> CHANGE MASTER TO master_host = '127.0.0.1',
master_user = 'mysql_backup',
master_password = '123456',
master_log_file = 'mysql-bin.000008',
master_log_pos = 120;
注意:加粗加红的参数在上图的show master status \G;中找
#启动从库
Start slave
#查看从库状态
Show slave status
到这里就恭喜您!搭建成功!