Mysql主从复制配置(一)

mysql主从复制配置
在这里插入图片描述
注意:mysql主从复制,主从版本要一致!
下载安装包
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
解压mysql-5.7.28-winx64.zip
先来配置一下主服务:

1.在此目录下新建一个my.ini的mysql配置文件,同时新建data,logs文件夹

在这里插入图片描述

2.配置my.ini

[mysql]

设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]
#设置3305端口
port=3305

设置mysql的安装目录

basedir=D:/bak_myjava/mysql/mysql-5.7.28-winx64

设置mysql数据库的数据的存放目录

datadir=D:/bak_myjava/mysql/mysql-5.7.28-winx64/data

允许最大连接数

max_connections=200

服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB
#表示开启二进制日志 数据库备份文件名称,可自由取,生成后会带文件序列号,服务每重启一次就会产生一个新文件
log-bin=master-bin

数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器

server-id = 1

表示需要备份的数据库为test

binlog-do-db=test
#表示不需要备份的数据库为mysql
binlog-ignore-db=mysql

如果两个都不设的话,从服务器会复制主服务器的全部数据库
3.dos–>cmd,进入bin目录

(1)进行初始化服务:mysqld --initialize --console,会在控制台打印初始化信息,此时data目录下也会生成一些初始化文件,并且控制台会打印出初始化的密码

(2)管理员权限cmd下安装服务:mysqld --install MYSQLMaster,MYSQLMaster是服务名,自己看心情取,看到Service successfully installed就表示服务安装成功
这时候,在任务管理器可以看到MYSQLMaster这个服务,只不过还是未启动状态。

备注:删除服务 mysqld –remove 服务名

(3)启动服务:net start MYSQLMaster(也可以在任务管理器的服务里面启动)

4.修改密码,需要加上端口号连接数据库,否则访问的是默认3306端口的数据库

mysql -uroot -P3305 –p
回车后输入密码
在这里插入图片描述

5.修改账号密码:

(1) 修改用户密码
mysql> alter user ‘root’@‘localhost’ identified by ‘root’;
(2) 刷新权限
mysql> flush privileges;

然后运行mysql -uroot -proot就可以用root用户名和root密码登陆了
看看当前初始化的数据库:show databases;

在这里插入图片描述

6.查看主库的当前状态

show master status;
在这里插入图片描述

注:
请记住这个File和Position,File是同步给从库的数据库文件,到时候授权给从库时要用

二、从库安装和配置
1.从主库拷贝一份解压文件并复制一份主库的my.ini文件过来修改配置

[mysql]

设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]
#设置3308端口
port=3308

设置mysql的安装目录

basedir=D:/bak_myjava/mysql/mysql-5.7.28-winx64_slave

设置mysql数据库的数据的存放目录

datadir=D:/bak_myjava/mysql/mysql-5.7.28-winx64_slave/data

允许最大连接数

max_connections=200

服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

表示开启二进制日志 数据库备份文件名称,可自由取,生成后会带文件序列号,服务每重启一次就会产生一个新文件

log-bin=master-bin

数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器

server-id = 2

同步某库

replicate-do-db=test
2.保存后像操作主库一样进行初始化,安装,启动等操作
3.启动从库后执行如下命令指定主库
change master to master_host=‘localhost’,master_user=‘liuliuyan’,master_password=‘123456’,master_port=3305,master_log_file=‘master-bin.000003’,master_log_pos=1245;
参数详解:
master_host: 主服务器的IP
master_user: 主服务器上新创建的用户名
master_password: 用户的密码
master_port: 主服务器的端口,如果未曾修改,默认即可。
master_log_file: 主服务器二进制日志文件的名称,填写查看主服务器的master状态时显示的File的值
4.启动从服务的slave复制功能:
start slave;
5.查从服务器的slave状态
show slave status \G;
在这里插入图片描述
如果 Slave_IO_Running 和 Slave_SQL_Running 的值都为 Yes,则说明主从复制的所有配置已成功,即从服务器已经可以自动与主服务器的数据库数据实现同步了。

三、测试
当主从库都配置完后,在主库中创建test数据库,刷新从库也会自动创建test。在主库test下建表增加数据,从库也会建表自动加数据。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖的肖傲楠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值