Windows Mysql8:(超详细)同ip运行两个mysql服务
主库安装:
1. mysql目前最新版是8.x.x,本文章使用mysql-8.0.15-winx64。下载免安装版
注意:如果你电脑中存在mysql的环境变量,若想同时运行两个mysql服务,一定要将其删掉!!
2. 解压后是这样的
注意:mysql8没有提供my.ini,也没有my-default.ini。自己创建一个即可。
为主库添加以下配置:
[mysqld]
#主库和从库需要不一致
server-id=47
log-bin=mysql-bin
#同步的数据库
binlog-do-db=xboot
#不需要同步的数据库
binlog-ignore-db=mysql
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.15-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
3. 打开bin目录,按住shift后右键,点击“在此处打开命令行窗口”,启动cmd后,看左上角是否有管理员字样。如果没有的话,手动去以管理员运行cmd。
4. 现在要说的是mysql8的一个坑,慎重! !打开cmd后,敲命令:mysqld --initialize --user=mysql --console
对于mysql8在install前一定要先初始化,初始化命令必须带有console,因为安装完后登陆的密码就在此!好,复制出来红框语句后,@localhost: 后面就是首次登录密码(即黄框内)。
5. 安装命令 mysqld --install mysql --defaults-file="D:\mysql-8.0.15-winx64\my.ini",等号后是你的安装路径。
出现红框内容表示服务安装成功了。
6. 接着启动mysql服务,找到mysql,右键,启动。
或者net start mysql,注意mysql是服务名称,下边slave是net start mysql2
7. 接着更改root密码,先用初始密码登录(就是上面让你们复制的初始密码),mysql -u root -p
注意:初始密码复制过去是不行的,必须手打,祝大家一次成功。接着敲:ALTER USER aaa@qq.com IDENTIFIED BY 'root';
到此,主库已成功配置,安装,运行。
从库安装:
1. 新解压一份出来,改个名,如图:
2. 复制一份主库的my.ini文件过来,修改以下内容:server-id,port,basedir,datadir,如下贴出:
[mysqld]
#主库和从库需要不一致
server-id=48
log-bin=mysql-bin
#同步的数据库
binlog-do-db=xboot
#不需要同步的数据库
binlog-ignore-db=mysql
# 设置3306端口
port=3307
# 设置mysql的安装目录
basedir=D:\mysql-8.0.15-winx64-2
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.15-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. 打开bin目录,按住shift后右键,点击“在此处打开命令行窗口”,启动cmd后,看左上角是否有管理员字样。如果没有的话,手动去以管理员运行cmd。
4. 初始化服务,跟主库操作一样,我就不贴图了。打开cmd后,敲命令:mysqld --initialize --user=mysql --console,然后复制一下密码。
5. 安装服务 mysqld --install mysql2 --defaults-file="D:\mysql-8.0.15-winx64-2\my.ini",等号后是你的安装路径。
注意:install 后是安装此服务的名字,区别于上面,后面路径一定要对应上
6. 启动第二个mysql服务。如果,你本地不存在环境变量,且配置的跟我一样,就会成功启动两个服务。
7. 接着更改root密码,先用初始密码登录(就是上面让你们复制的初始密码),mysql -u root -p
注意:初始密码复制到命令行是不行的,必须手打,祝大家一次成功。
登录成功后,接着敲:ALTER USER aaa@qq.com IDENTIFIED BY 'root';
到此,主库、从库已成功配置,安装,运行。
踩坑提醒:
1. 运行多个mysql服务,环境变量中必须不存在mysql的。
2. 初始化mysql命令一定是:mysqld --initialize --user=mysql --console
3. 安装命令一定是:mysqld --install mysql --defaults-file="D:\mysql-8.0.15-winx64\my.ini"
4. mysql8 上面初始化命令时会给出初始密码,根据此密码登录mysql后,一定要修改root密码,不然以后想登录mysql的时候要密码就懵了。