我也是第一次弄这个mysql主从复制,爬坑总算爬出来了,分享一下爬坑心得;
准备的相关软件及系统版本:
mysql5.6解压版
两台服务器windosserver2012 64.
下载mysql就不多说了.
首先先在两台服务器上分别安装配置mysql,前面一部分安装是相同的,因为要实现mysql的主从复制,在后期配置的时候会有区别,下面我们在相同的服务器上进行相同的安装.
1.在两台服务器上安装mysql
①.配置环境变量:在系统环境变量的path中加入磁盘目录\mysql\bin的文件目录名
②.在你指定的主mysql目录下修改my.ini配置文件,我主mysql配置的如下
[client]
port = 3306
default-character-set = utf8
[mysqld]
basedir = C:/xuguoxi/mysql
datadir = C:/xuguoxi/mysql/data
port = 3306
character_set_server=utf8
server_id = 2
log-bin = mysql-bin
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
上面的配置你们刚下载的可能什么都没有,必须配置的有basedir,dayadir,port,server_id,log-bin,其他的可以默认,也可以自己根据需要添加
上面体现了主从复制配置的是server_id = 2(在配置主从复制的时候必须指定且不能与其他mysql重复),log-bin = mysql-bin(在主mysql端必须开启这个配置,默认不开启)
③.在你指定的从mysql目录下修改my.ini配置文件,我的从mysql配置如下
[client]
port = 3306
default-character-set = utf8
[mysqld]
basedir = C:/xuguoxi/mysql
datadir = C:/xuguoxi/mysql/data
character_set_server=utf8
port = 3306
server_id = 3
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
从服务器主要就指定了server_id = 3,要保证与主服务器不相同
④.在主mysql的服务器上配置
打开mysql/bin目录,按键shift+鼠标右键,选择在此处打开命令窗口,输入
mysqld -install
成功后再启动服务,失败请检查启动目录与文件
net start mysql
下面说一下与其相关的命令,修改配置文件后需要停止后再开启:
net stop mysql //停止mysql服务
sc delect mysql //删除mysql服务
登录mysql
mysql -u root -p
提示输入密码,直接回车,第一次登录不需要密码
设置密码
set password for 'root'@'localhost'=password('newpasswd');
增加远程访问用户及密码
CREATE USER 'xu'@'%' IDENTIFIED BY 'xu123456';
给远程用户所有权限
GRANT ALL PRIVILEGES ON *.* TO dx@"%" IDENTIFIED BY "dx123456";
最后刷新权限
FLUSH PRIVILEGES;
查看用户及权限表
SELECT User, Host, Password FROM mysql.user;
在从mysql上进行第4步操作
⑤.在主服务器上配置
使用root登录
查看log_bin是否开启成功,off没有,on开启成功,失败的话需要仔细检查配置文件
SHOW VARIABLES LIKE 'log_bin';
新增备份用户
GRANT REPLICATION SLAVE ON *.* to 'xubak'@'%'identified by 'xu123456';
刷新权限
FLUSH PRIVILEGES;
如果数据库有数据在写入,我们需要锁定数据库,不能写入数据,等配置结束后再解锁
lock table writer read;//锁定数据库
unlock tables;//解锁
查看主mysql一下主要的文件信息,记录一下获取的值
show master status;
上面的几个配置主要是备份的账号及获取了主mysql的日文件信息
⑥在从mysql服务器上配置
CHANGE MASTER TO
MASTER_HOST='主mysql服务器ip',
MASTER_PORT=3306,
MASTER_USER='xubak',
MASTER_PASSWORD='xu123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=2517;
开启主从
start slave;
查看主从配置是否成功
show slave status \G;
这里需要注意,需要Slave_IO_Running:YES与Slave_SQL_Running:YES必须为YES,其他的都是配置失败,需要检查配置的用户权限,还是不行的话需要从头一步一步的检查.
⑦.验证主从复制;
在主mysql服务器上使用root账号登录
创建一个数据库
create database master_one;
show databases;
在从mysql服务器上使用root账号登录
show databases;
配置成功的话可以看到从库中也有了数据库master_one了
使用刚创建的远程账号在插入一个数据库,也可以看到从库也对应添加了一个数据库.
目前配置到此结束.
推荐相关视频:
https://www.ixigua.com/i6497232485435310606/?utm_source=toutiao&utm_medium=feed_stream#mid=60959158180
推荐相关文章:
http://blog.csdn.net/zleiw/article/details/78243316
http://blog.csdn.net/hguisu/article/details/7325124/
http://blog.csdn.net/i_bruce/article/details/17055135
http://www.jb51.net/article/85218.htm
http://blog.csdn.net/linuxnews/article/details/51704964
http://blog.csdn.net/zbw18297786698/article/details/51078396
http://blog.csdn.net/qq_33517844/article/details/78737043