Windows系统 Mysql8.0.11:同ip运行两个mysql服务
参考文章:https://blog.csdn.net/imHanweihu/article/details/89404165
1、背景
- 需要做数据库的读写分离以及主从同步,所以需要运行两个mysql服务。
- windows系统为windows 10 专业版,mysql为mysql-8.0.11-winx64,下载地址:https://cdn.mysql.com//archives/mysql-8.0/mysql-8.0.11-winx64.zip
- 注意:如果你电脑中存在mysql的环境变量,若想同时运行两个mysql服务,一定要将其删掉!!
2、安装主库
2.1、下载完成直接解压
解压完之后的目录结构是这样的:
注意:mysql8没有提供my.ini,也没有my-default.ini。自己创建一个即可。
2.2、my.ini配置
[mysqld]
#主库和从库需要不一致
server-id=47
log-bin=mysql-bin
#同步的数据库
binlog-do-db=java_demo
#不需要同步的数据库
binlog-ignore-db=mysql
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=E:\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-8.0.11-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
2.3、初始化数据库信息
包括创建数据文件目录、mysql系统数据库、生成root账号和随机密码、修改root账号密码、安装mysqld作为window服务并自动启动。
2.3.1、以管理员身份运行cmd
步骤如下:
1、进入到mysql的安装目录的bin文件夹下
2、在地址栏输入cmd,然后敲回车,打开cmd
2.3.2、创建数据文件目录、mysql系统数据库、生成root账号和随机密码
敲命令:
mysqld --initialize --user=mysql --console
命令解释:
- –initialize 创建数据文件目录和mysql系统数据库、生成root账号和随机密码
- –user=mysql 以系统用户mysql去运行
- –console 将日志打印显示出来(用于获取随机密码)
root@localhost: SKtwjdbbs7#%
@localhost: 后面就是首次登录密码,生成了一个root账号,密码是SKtwjdbbs7#%
2.3.3、安装mysqld作为window服务并自动启动
敲命令:
mysqld --install mysql11 --defaults-file="E:\mysql-8.0.11-winx64\mysql-8.0.11-winx64\my.ini";
注意:我的mysql服务名为mysql11,名字可以随意起
等号后是你的安装路径
出现Service successfully installed.则安装成功
命令解释:
- –install 安装mysqld作为window服务 自动启动
- –defaults-file 默认配置文件
再敲命令:
net start mysql11
注意:我的mysql服务名为mysql11
注意:下图中的黄色部分替换成你自己的。
下图可以看到服务启动成功
2.3.4、修改root账号密码
因为使用默认密码操作时会提示你 You must reset your password using ALTER USER statement before executing this statement.所以要修改密码。
继续敲命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';
将root账号的密码改为xxx,密码随意,我这里设置的是密码是root即:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
到此,主库已成功配置,安装,运行。
3、安装从库
3.1 再解压一份改个名
3.2、my.ini配置
复制主库的my.ini文件过来,修改server-id,port,basedir,datadir,具体配置如下:
[mysqld]
#主库和从库需要不一致
server-id=48
log-bin=mysql-bin
#同步的数据库
binlog-do-db=java_demo
#不需要同步的数据库
binlog-ignore-db=mysql
# 设置3307端口
port=3307
# 设置mysql的安装目录
basedir=E:\mysql-8.0.11-winx64-2
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-8.0.11-winx64-2\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8
3.3、初始化数据库信息
步骤和主库的一样,此处就不再做赘述,有几个需要注意的地方:
1、以管理员身份运行cmd时:
需要进入到从库的bin目录下执行操作。
2、安装mysqld作为window服务并自动启动安装mysqld作为window服务并自动启动时:
mysql服务名修改,我的主库为mysql11,从库为mysql10,名称随意,不重复即可。
defaults-file需要修改,改为从库的my.ini文件路径。
即步骤2.3.3中图片的黄色圈出部分。
到此,主库、从库已成功配置,安装,运行。
两个mysql服务启动成功:
相关文章:
PS:
如果博文有写的不对或者有更好的方式,欢迎大家评论或者私信指正。