windows安装多个mysql及主备数据库搭建

一、安装多个mysql

1.下载mysql

        去mysql官网MySQL :: Download MySQL Community Server (Archived Versions)下载对应版本的zip文件。

2.安装mysql

        下载的文件解压到指定的文件目录下

3.配置mysql

        在与bin同级的目录下找到my.ini文件,如果没有新建my.ini文件,并添加如下内容

[mysqld]
basedir=D:devtopmysqlmysql57_master
datadir=D:devtopmysqlmysql57_masterdata
port=3307
character_set_server=utf8
character-set-server=utf8
init-connect='set names utf8'
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[client]
default_character_set=utf8
default-character-set=utf8

[mysql]
default_character_set=utf8
default-character-set=utf8

        注意:basedir 是mysql的解压目录;datadir:是mysql数据的存储路径,port:端口

4.初始化数据

        通过cmd进入到mysql的bin目录,运行 

mysqld --initialize --console

        即可完成数据库数据的初始化。 初始化结束后,mysql会为root用户随机生成一个密码,如图

A temporary password using UTF8MB4 for root@localhost: 1bexEsxd123

5.启动mysql

        命令行输入 net start mysql,其中mysql为服务名称,如果不输入则为MySQL,此处在配置多个mysql时需要服务名称设置为不相同。

6.其他设置

        本机通过以上密码登录后进行其他mysql的相关配置。

7.另外一个mysql服务

        安装方式同上,但是需要注意的是2个服务的端口不可设置为一样的。另外如果是安装相同版本的mysql,需要注意mysql的data下的文件auto.cnf修改mysql的uuid需要设置为不同的。

二、把mysql设置为系统服务

1.以管理员身份运行命令提示符,进入到mysql的bin目录  

mysqld --install mysql2

        这里的mysql2就是再服务里面用作区分多个mysql的服务名,如果不写,默认是MySQL,安装多个数据库,如果不写,会导致无法启动服务。

2.启动mysql2

 net start mysql2

3.错误处理

        由于找不到MSVCP120.dll,无法继续执行代码
        https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40784  下载安装
  

4.卸载服务

        命令行: sc delete 服务名称   如  sc delete mysql2

三、主从数据库服务器搭建

1.主库配置:

1.配置文件my.ini添加如下的配置

server-id=101
log_bin=master-bin
log_bin-index=master-bin.index
binlog-do-db=mrrs

        server-id:主从数据库之间设置为不同的。

        binlog-do-db:设置数据库的库名,如果想全库实现主从复制,此处不要配置。

2.创建复制数据的用户

        命令行进入数据库执行  Grant replication slave on *.* to backup@'%' identified by '123456';
       

3.刷新权限    

flush privileges;

4.允许用户远程登录

        update  user  set  host= '%'  where  user= 'root' ;


5. 查看主库状态

        show master status;

        并记住file和Position,后面搭建从库时需要用到。如图

2.从库配置

1.配置文件my.ini添加如下的配置

# 从库配置
server-id=102
#打开从服务二进制日志
log_bin=slave-bin
log_bin-index=master-bin.index

2.配置从库

        完成上述配置后,重启从库服务,并进入数据库执行如下代码:

CHANGE MASTER TO 
    MASTER_HOST='127.0.0.1', 
    MASTER_PORT=3307, 
    MASTER_USER='backup', 
    MASTER_PASSWORD='123456', 
    MASTER_LOG_FILE='master-bin.000003', 
    MASTER_LOG_POS=154 ;

        上述内容依次是:MySQL主库ip,MySQL主库端口,MySQL主库用户,MySQL主库用户密码,前面记住的主库file和position。


3.启动链路
      

start slave;

4.查看链路

show slave status G

当看到如下信息,标识主从数据库搭建成功

Slave_IO_State: Waiting for master to send event
                          Master_Host: 127.0.0.1
                          Master_User: backup
                          Master_Port: 3307
                        Connect_Retry: 60
                      Master_Log_File: master-bin.000003
                  Read_Master_Log_Pos: 154
                       Relay_Log_File: slave-relay-bin.000002
                        Relay_Log_Pos: 321
                Relay_Master_Log_File: master-bin.000003
                     Slave_IO_Running: Yes
                    Slave_SQL_Running: Yes

3.异常情况处理

1.中间如果出现问题,需要重新配置时,需要关闭slave链路,STOP SLAVE IO_THREAD;

2.Slave_IO_Running: No

        如果配置过程中出现 Slave_IO_Running: No 的情况,可能是mysql的uuid导致,找到mysql的data下的文件auto.cnf修改mysql的uuid不同即可。
 

3..报错:

        ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
                    

reset slave

4如果配置过程中出现 Slave_SQL_Running: No 的情况

stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave ;

四、互为主备数据库服务器搭建

        mysql主备机搭建,把主库和从库分别设置互为主库、从库。

        小编安装了4个版本mysql服务。

        后面会梳理mysql的容器安装,通过docker容器设置mysql主备机服务。mysql集群配置等内容,喜欢的关注,感谢。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>