mysql主从搭建流程
1,配置前准备
如果是在同一台服务器 需要配置环境变量并且停用以前的环境变量
复制新的mysql中my-default.ini复制一份改名为my.ini
进入my.ini添加配置
[mysqld]
#安装目录
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
以管理员权限打开cmd 跳转到mysql的bin目录 安装 mysqld -install (服务器上只有一个mysql的情况)
如果已经有了一个mysql 安装命令为 mysqld install mysql2(新的mysql名) --defaults-file="c:\wamp\bin\mysql2\mysql5.6.17\my.ini" (新的mysql安装路径)
--defaults-file参数用来制定配置文件位置防止多个服务冲突
如果同一台服务器有两个mysql需要更改端口号
net start mysql 启动mysql服务
Net stop mysql 停止mysql服务
(此配置可以不添加)Windows 添加服务: [ 防止2个mysql服务冲突 ]
sc create mysql2server binPath= "E:\MysqlServer5.6\bin\mysqld.exe"( 安装路径)
TYPE= "own" start= "auto"(是否自动开启)
TAG= "no" Display
Name= "mysql2server SERVICES"
2,配置mysql主从复制 (如果两个mysql版本不一样 在高版本配置中添加 binlog_checksum=none #不检测日志文件格式)
1,添加一个mysql主从复制需要的用户账号
2,配置主服务器
mysql配置文件加入:
server-id=1(必须要有 为服务器A的id)
log-bin=mysql-bin(二进制便跟日志)
binlog_ignore_db=mysql # mysql这个库不同步
binlog_do_db=test # 要同步的数据库
重启master,
service mysqld start
service mysqld stop
运行SHOW MASTER STATUS,输出如下:
3,配置从服务器
log_bin = mysql-bin
server_id = 2(服务器B的id)
relay_log = mysql-relay-bin(中继日志)
read_only = 1 (设置权限 只有查的权限)
在数据库中 从服务器新建查询
连接主库 show master status 查看要连接的 master_log_file master_log_pos
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 (这两个可以再主库中 执行 show master status 看到)
启动从库 start salve
停止从库 stop salve
show salve status
如果io线程 与 sql线程 都是yes 就完成了
清除主服务器的日志 reset master