如何在windows系统安装多个mysql并配置主从?

同一台服务器配置多个mysql服务,并配置主写从读;[注意:主库与从库的server_id不能相同]

一: 首先安装mysql主服务.

二:  创建my.ini文件,在主服务mysql根目录添加my.ini文件并加入以下内容:

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8mb4

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3366

default-character-set=utf8mb4

[mysqld]

# 设置3366端口

port=3366

# 设置mysql的安装目录,修改成自己的目录

basedir=D:\mysql

# 设置mysql数据库的数据的存放目录,修改成自己的目录

datadir=D:\mysql\data

# 允许最大连接数

max_connections=600

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=300

# 服务端使用的字符集默认为UTF8mb4

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

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

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# 主从同步配置信息

log-bin=mysql.bin

# 使binlog在每N次binlog写入后与硬盘同步

sync-binlog=1

# 1天时间自动清理二进制日志

expire_logs_days=1

# 需要同步的数据库

binlog-do-db=test

# 不需要同步的数据库

binlog-ignore-db = mysql               

binlog-ignore-db = test                     

binlog-ignore-db = information_schema

binlog-ignore-db = bak

binlog-ignore-db = sys

binlog-ignore-db = omserver

binlog-ignore-db = sakila

binlog-ignore-db = smp_base_1_0

binlog-ignore-db = smp_base_2

binlog-ignore-db = smp_emx_1_0

binlog-ignore-db = smp_emx_2

binlog-ignore-db = smp_maint_1_0

binlog-ignore-db = smp_maint_2

# Error Logging.

log-error="WIN-1QQDRPR5R2M.err"

# Server Id.主服务与从服务的server id不能重复

server-id=1

[WinMySQLAdmin]

#修改成自己的目录

D:\mysql\bin\mysqld.exe

三: 安装完毕之后,(查看根目录下是否有data文件,若没有创建该文件).使用管理员 powerShell进入cmd命令行:

1. 打开powershell命令窗口;

2. 输入cmd命令切换入cmd至dos窗口;

3. 进入你安装mysql的bin目录(cd D:\mysql\bin)

四: 配置并注册主服务的相关信息

1. 初始化数据库(切记将'localhost'后面的密码保存下来.);

        mysqld --initialize --console

2. 注册mysql服务自定义线服务名称:

        mysqld install mysql3366 --defaults-file="D:\mysql\my.ini"

        其中mysql3366为你的mysql服务名称

3. 启动服务:

        net start mysql3366

        附: [

                停服务: net stop mysql3366

            ]

4. 使用root账号登录主服务mysql(-P指定端口登录)

            mysql -u root -p -h localhost -P 3366

            输入刚才记录的密码(如果忘了密码也没关系,将根目录下的data目录里面的内容删除,重新执行初始化数据库命令)

            (1.) 更改用户密码

                     alter user 'root'@'localhost' IDENTIFIED BY 'root';

5. 查看bin_log是否开启(value为ON则为开启状态):

            show variables like 'log_bin';

6. 查看主库的状态:

            show binlog events; --查询binlog 变动信息 

            show master status; --查看主库 状态--

7. 在主库创建同步数据用户信息并授权:

        (1.) 创建用户

                create user test identified by '123456';

        (2.) 授权

                grant replication slave on *.* to 'test'@'%';

        (3.) 刷新权限

                flush privileges;

8. 在主库中创建数据库:

                create database test;

                use test;

                create table test(id int(11),name varchar(50));

至此不要对主库进行操作;


五: 创建备库--SLAVE服务创建流程:

1. 将主库安装文件信息拷贝一份

2. 更改my.ini文件内容如下:

        在从库安装根目录创建my.ini文件加入以下内容:

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8mb4

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3376

default-character-set=utf8mb4

[mysqld]

# 设置3376端口

port=3376

# 设置mysql的安装目录,修改成自己的目录

basedir=D:\mysql-slave

# 设置mysql数据库的数据的存放目录,修改成自己的目录

datadir=D:\mysql-slave\data

# 允许最大连接数

max_connections=600

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=300

# 服务端使用的字符集默认为UTF8mb4

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

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

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# 主从同步配置信息

# Server Id.

server-id=2

log_bin=mysql-bin

# 二进制日志自动删除的天数

expire_logs_days=1

[WinMySQLAdmin]

#修改成自己的目录

D:\mysql\bin\mysqld.exe

3. 创建好my.ini文件之后执行初始化与创建服务操作

(1). 打开powershell命令窗口;

(2). 输入cmd命令切换入cmd至dos窗口;

(3). 进入你安装(拷贝)mysql的bin目录(cd D:\mysql-slave\bin),执行以下命令:

        1). 初始化数据库(切记将'localhost'后面的密码保存下来.);

                mysqld --initialize --console

        2). 注册mysql服务自定义线服务名称:

                mysqld install mysql3376 --defaults-file="D:\mysql\my.ini"

                其中mysql3307为你的mysql服务名称

3). 启动服务:

                net start mysql3376

                附: [

                    停服务: net stop mysql3376

                   ]

4). 使用root账号登录主服务mysql(-P指定端口登录)

                mysql -u root -p -h localhost -P 3376

                输入刚才记录的密码(如果忘了密码也没关系,将根目录下的data目录里面的内容删除,重新执行初始化数据库命令)

    (1.) 更改用户密码

                alter user 'root'@'localhost' IDENTIFIED BY 'root';

    5). 执行主从关联(master_log_file,master_log_pos 根据 主库 show master status;显示信息设置,用户密码为主库创建并授权的那个用户密码):

change master to master_host='127.0.0.1',master_port=3366,master_user='test',master_password='123456',master_log_file='master-bin.000002',master_log_pos=154;

start slave;--开启服务 stop slave; 关闭服务

6). 显示备库状态:

master_log_file,master_log_pos 根据 主库 show master status; 显示信息设置

[

        以下两个字段为YES才是正常的,如果不是可以查看Last_Error字段显示的报错信息

        Slave_IO_Running YES

        Slave_SQL_Running YES

]

至此配置已完成.可以在主数据库表中增加或删除数据,如果从数据库中数据跟着一起执行,那么就配置成功!

若还是失败状态.可以关掉服务,在环境变量path中加入这两个mysql的安装目录指定到bin文件夹下,再重启执行.记得带分号;啊@@@!!!



常用命令:

初始化数据库(记住密码):

mysqld --initialize --console

注册服务名:

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

启动服务:

net start mysql;  --mysql为你的服务名

关闭服务:

net stop mysql;  --mysql为你的服务名

修改用户密码:

alter user 'root'@'localhost' IDENTIFIED BY '123456';

创建用户:

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

授权:

grant all privileges on *.* to 'root1'@'%';

修改用户登录密码加密规则:

ALTER USER 'root1'@'%' IDENTIFIED WITH mysql_native_password BY  '123456'

更新一下用户的密码:

ALTER USER 'root1'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

刷新权限:

flush privileges;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容