mysql主从复制修改登录密码,windows10 mysql主从复制配置

注意:mysql主从复制,主从版本要一致!

生手永远在学习的路上,为了学习mysql主从复制,实现读写分离,因而在本地安装多个mysql实例来进行验证。

也所以有了下面的笔记,一来自我总结一下经验,二来独乐乐不如众乐乐

先来配置一下主服务:

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

d48da677915c620ed41cd23e77465e3b.png

2.配置my.ini

port = 3305

basedir=C:\ProgramData\MySQL\mysql-5.7.24-master-3305 #(mysql文件夹路径)

datadir=C:\ProgramData\MySQL\mysql-5.7.24-master-3305\data #(data路径,存放日志文件)

log-bin=master-bin 数据库备份文件名称,可自由取,生成后会带文件序列号,服务每重启一次就会产生一个新文件

server-id = 1

binlog-do-db=test 表示须要备份的数据库为test

binlog-ignore-db=mysql 表示不须要备份的数据库为mysql

若是两个都不设的话,从服务器会复制主服务器的所有数据库 (本人就是此设置)

log-bin=mysql-bin 表示开启二进制日志,并把二进制日志前缀改成mysql-bin

3.dos-->cmd,进入bin目录

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

(2)安装:mysqld --install MYSQLMaster,MYSQLMaster是服务名,本身看心情取,看到Service successfully installed就表示服务安装成功

这时候,在任务管理器能够看到MYSQLMaster这个服务,只不过仍是未启动状态。

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

4.修改密码,须要加上端口号链接数据库,不然访问的是默认3306端口的数据库

mysql -uroot -P3305 -p

ac1edbc3757542a4286e3493aa1ed12b.png

5.修改帐号密码:

切换数据库,用户信息在mysql库的user表了里:use mysql

更新密码:update user set authentication_string=password("root") where user="root";--password()是mysql的一个加密函数

刷新帐户信息:flush privileges;

524090732513ba2c009cb3e7fc28d763.png

而后运行mysql -uroot -proot就能够用root用户名和root密码登录了

看看当前初始化的数据库:show databases;

5a69f3f358adf7b20b75528d5aa1dc3c.png

启动主服务器后,可继续在dos界面或者用sqlyog链接工具在mysql中建立新用户受权,也可用直接root用户,在此我选择新建我的用户。

create user 'liuliuyan'@'%' identified by '123456';

给新用户配置主从复制的权限:

grant replication slave on *.* to 'liuliuyan'@'%' identified by '123456';

注:

@后面的ip地址为容许链接的客户端的ip地址,若是改成 ‘%’,就表示客户端没有ip地址的限制

而后查看主服务master的状态: (每重启一次mysql服务,mysql-bin的日志就会新建一个,因此重启主服务,从服务必须先中止再从新配置后启动)

7.查看主库的当前状态

show master status;

2b6c9be9cd6d9b2840bada96301e2fb2.png

注:

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

2、从库安装和配置

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

[mysqld]

port = 3308

basedir=C:\ProgramData\MySQL\mysql-5.7.24-slave-3308

datadir=C:\ProgramData\MySQL\mysql-5.7.24-slave-3308\data

log-bin=master-bin

server-id = 2

replicate-do-db=test #同步某库

#同步某表用 replicate-wild-do-table

replicate-wild-do-table =test.test

replicate-wild-do-table =test.test1

replicate-wild-do-table =test.test2

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;

eac502514c88c979e2678092eaa7b526.png

若是 Slave_IO_Running 和 Slave_SQL_Running 的值都为 Yes,则说明主从复制的全部配置已成功,即从服务器已经能够自动与主服务器的数据库数据实现同步了。

3、两个状态是ok就主从配置好了,接下来各位能够测试一下,个人测试成功了,在主库建立库,建立表后,从库都能同步到。perfect!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值