Windows环境下,安装MySQL多实例,并实现Mysql的主从同步
来源:互联网 发布:淘宝怎么发布虚拟产品 编辑:程序博客网 时间:2024/06/02 19:50
一、 在同一台服务器上安装多个MariaDB
实现一组多从(这里是伪从),即将多个主数据库同步到同一台服务器上,需要运行多个MySQL实例,如下文档。
1. 官网下载Source源文件
https://downloads.mariadb.org/
2. 解压缩文件,将文件加下的my-medium.ini的名称修改为my.ini,作为文件源。
3. 复制修改后的文件,并重命名
4. 以下以3307为例,修改my.nin配置文件,如下,将原来的端口3306修改为3307
5. 使用命令行添加MySQL实例服务:
首先,切换到3307所在目录的bin目录下,执行以下命令,显示服务安装成功。
到计算机管理下面,可以看到新添加的MySQL3307服务
6. 使用同样的方法,安装MySQL3308的服务。
7. 写个简单的批处理文件mysql.bat,并使用管理员权限执行该文件启动服务,或者手动启动服务。
net start MySQL3307
net start MySQL3308
8. 命令行登陆MySQL:
切换到mysql的bin目录下,执行命令登陆
测试环境:
数据库版本一致,是官方推荐的方式;slave至少要和master的版本前两个号相同,可高于master;版本不一致,可能出现的问题就是同步的不稳定(兼容性的老问题),因为会在某些函数处理、日志读取、日志的解析重演等上发生异常,导致同步报错而需手工处理。
MariaDB10.2(与mysql类似)
主数据库所在服务器IP:192.168.1.155,
主数据库名称:master_db
主数据库为从数据库开设的账号:backup,密码:123
从数据库所在服务器IP:192.168.1.22
从数据库名称:master_db
注意:在设置前,主从数据库必须一致,才能实现主从同步,也要注意标点符号位英文
1. 编辑主数据库的配置文件C:\Program Files\MariaDB 10.2\data\my.ini
在[mysqld]下方添加如下配置,也可以设置binlog-ignore-db来设置不需要同步的数据库
server-id = 155 #一般默认为1,通常以IP的最后一段作为server-id,保证全局的一致性
read-only = 0 #设置主库可读写
#binlog format有三种形式:Statement、Mixed、Row,默认设置为mixed
binlog-format=mixed
binlog_do_db = master_db #需要同步的数据库名称,要同步多个可以写多行,否则默认同步所有的库
log_bin = mysql-bin #二进制名称,确保此文件可读写
2. 设置主库用于同步数据用的账号,并赋予从库复制的权限
grant replication slave on *.* to backup@192.168.1.222 identified by ‘123’
*.*:第一个星号代表库,第二个星号代表数据库里的表,可指定库和表。
backup是主数据库为从数据库访问主库而开设的账号,192.168.1.222 为从数据库的IP地址,‘123‘即是该账号的密码。
将修改的内容刷新到数据库配置里
mysql>flush privileges;
3. 重启mysql服务
net stop mysql
net start mysql
4. 登陆主库,并查看主库的状态
这里的file和position,在从库的配置中需要用到
5. 编辑从数据库的配置文件C:\Program Files\MariaDB 10.2\data\my.ini
将从库的server-id设置成与主库的不同,也可以设置replication-ignore-db 设置不需要同步的数据库
在[mysqld]下方添加如下配置
server-id = 222 //通常以IP的最后一段作为server-id,保证全局的一致性
read-only = 1 #从库只读
replicate-do-db = master_db #本地需要,同步的数据库,需要与主库的名称一致
6. 重启从数据库服务
net stop mysql
net start mysql
7. 登录从数据库,修改主库信息
change master to master_host=’192.168.1.155’ ,master_port=’3306’, master_user=’backup’,master_password=’123’, master_log_file=’mysql-bin.000001’,master_log_pos=797, master_connect_retry=60,master_delay=100;
master_host为主库IP;
master_user、master_password 为第2步分配的用于从库同步主库数据的用户名和密码;
master_log_file为主库中设置的二进制文件,即第4步中的file;
master_log_position为二进制文件的开始位置,即第4步中的position;
master_connect_retry(若master宕机或者slave连接断开,slave会定期尝试连接到master上,重试的间隔由该选项来控制,默认值是60秒。)
master_delay用于设置复制延迟时间
8. 查看是否配置成功
Start slave; #启动从数据库
Show slave status\G; # 查看从库状态
若slave_IO_state、slave_IO_running、slave_SQL_running状态如上图所示,则表示配置成功
1. 主从数据库配置好后,将主库进行一个完全的备份,然后导入从库,保证当前主从一致,那么以后主库的任何修改都会同步到从库上面,保证主从数据库的一致性。
2. 配置主从数据库常见错误
a、 EROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'master_user='USER'
执行change 命令时落了逗号。
b 、若出现Slave_IO_Running、Slave_SQL_Running状态为no,则从stop slave 从新执行一遍change master to master_host=’192.168.1.155’,master_port=’3306’, master_user=’backup’,master_password=’123’,master_log_file=’mysql-bin.000001’,master_log_pos=797;
然后再执行start slave就可以了。
//开启从库
start slave;
//开启从库
stop slave;
//重置从库
reset slave;
- Windows环境下,安装MySQL多实例,并实现Mysql的主从同步
- MySQL实现单机多实例安装并配置主从复制
- MySQL多实例,主从同步
- linux下mysql多实例安装,并实现主主同步
- mysql主从同步配置(windows环境)
- Innobackup mysql 多实例环境搭建主从同步
- Innobackup mysql 多实例环境搭建主从同步
- 生产环境下的MySQL数据库主从同步总结
- windows下mysql主从同步备份步骤
- Windows 下配置mysql主从数据库同步
- windows 7下mysql主从同步设置
- mysql在windows下主从同步配置
- windows 8下mysql主从同步设置
- 多mysql实例下开发需要注意主从同步延迟
- Amazon EC2安装mysql多实例并配置主从复制
- MySQL单机多实例安装并配置主从复制
- CentOS下Mysql实现数据库主从同步
- CentOS下Mysql实现数据库主从同步
- Ubuntu vi 上下左右变ABCD问题解决方法
- iOS 一一 核心动画
- Opsive的ThirdPersonController使用手记(2)
- 其他题目---设计有setAll功能的哈希表
- 虚拟机安装cenos7后ifcfg看网卡无inet地址掩码等信息
- Windows环境下,安装MySQL多实例,并实现Mysql的主从同步
- 初学C#感受
- RK3288模块单独编译
- Java SE(五)——高级语言特性(collection接口+异常)
- C语言用选择排序的方法合并有序数组
- 1005. Spell It Right (20)
- JavaScript
- bzoj2216 Lightning Conductor
- java实现ftp文件的上传与下载