mysql 单机主从_Mysql单机多实例及主从备份设置

准备Slave数据库

新建目录,如:mysql3307,做为Slave数据库的目录。

复制Master Mysql目录下的share目录到mysql3307下。

在mysql3307目录下创建data目录,并复制Master Mysql的data下的mysql文件夹和test文件夹到mysql3307\data下。

复制Master Mysql目录下的my.ini到mysql3307下。

修改Master库的my.ini

修改Master Mysql目录下的my.ini文件。

找到[mysqld],添加如下内容:

log-bin=mysql-bin

server-id=1

#binlog-do-db=test

#binlog-ignore-db=mysql

创建备份账户

在Master库中创建有同步权限的用户:backup,密码:backup。

mysql>grant replication slave on *.* to backup@'localhost' identified by 'backup';

mysql>flush privileges;

修改Slave库的my.ini

修改mysql3307目录下的my.ini文件。

找到[client]下的port=3306,修改为:port=3307

找到[mysqld]下的port=3306,修改为:port=3307

添加如下内容:

log-bin=mysql-bin

#server-id的值要大于Master中mysql/my.ini中的id值

server-id=10

#mysql中的用户名

master-user=backup

#mysql中的密码

master-pass=backup

#mysql的端口号

master-port=3306

master-connect-retry=60

#要复制的数据库

replicate-do-db=test

将Slave配置为服务

命令行下运行:

mysqld -install mysql3307 --defaults-file="f:\mysql3307\my.ini"

注意:如果参数错误,此时不会有提示,但是在启动服务时,提示1607错误。

配置成功后,在window的服务中会看到相应的服务,服务名为:mysql3307。

PS

1. 删除Mysql服务:mysqld -remove mysql3307。

2. 启动Mysql服务:net start mysql3307

3. 停止Mysql服务:net stop mysql3307

查询Master数据库的状态

这里需要记录File和Position的值。

mysql>show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 | 98 | | |

+------------------+----------+--------------+------------------+

设置Slave数据库

启动并登录Slave数据库

net start mysql3307

mysql -uroot -p -P3307

mysql命令中的参数:-P3307是指3307端口,-P必须大写。

输入Slave密码(因为是复制的Master数据库,所以密码和Master数据库相同),登录数据库。

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| test |

+--------------------+

看到mysql和test,说明是在mysql3307数据库实例中。

继续运行:

mysql>slave stop;

mysql>change master to

->master_host='127.0.0.1',

->master_user='backup',

->master_password='backup',

->master_log_file='mysql-bin.000001',

->master_log_pos=98;

注意:

1. master_log_pos的值不要加引号。

2. master_host一定要写IP地址。

继续运行:

mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql>slave start;

mysql>show slave status \G;

set GLOBAL SQL_SLAVE_SKIP_COUNTER=1,是指当Slave复制出错时,跳过错误。

如果查询结果显示如下内容,说明配置成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: test

主从数据库测试

可在Master数据库test中创建表,添加记录,在Slave数据库中可查询到添加的记录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值