安装第一个mysql很简单,这里不再赘述。主要说说第二个怎么安装,服务怎么配置。
1. 从官网下载第二个MySQL并安装
一般都是免安装版了,下载解压到某个文件目录下(路径中尽量不要带空格或中文),再新建一个my.ini文件(或者从第一个MYSQL里面复制一个),按照格式改一下,重点改port(端口不能相同)
重点强调下,一定要按照格式修改,路径这种千万不要错。比如是\还是\一定按照注释里的格式来写,不然后面会出问题。
my.ini示例如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置端口,不设置默认3306
port = 3307
# 设置mysql的安装目录
basedir=D:\\software\\mysql-8.4.0-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可
# datadir=D:\\software\\mysql-8.4.0-winx64
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL8.0默认的身份验证插件为caching_sha2_password,这将导致远程户端无法连接,可使用“mysql_native_password”插件认证解决客户端无法连接的问题,mysql_native_password再MySQL8.0中已过时,但任然可使用
# 从MySQL8.4开始,配置为 mysql_native_password=ON
mysql_native_password=ON
# default_authentication_plugin=mysql_native_password 此配置是在8.4以下的版本中的配置方法,8.4无此项
2. 系统环境变量Path配置一下
3. CMD以管理员身份进入第二个MySQL安装目录的bin目录下
这点非常重要!!!如果你不进入到第二个MySQL安装目录的bin目录下,后续所有初始化和安装服务操作都会跟第一个有冲突。
4. 初始化第二个MySQL
执行如下命令:
(示例中的路径需要替换成自己的安装目录)
mysqld --defaults-file=D:/software/mysql-8.4.0-winx64/my.ini --initialize --console
或
mysqld --initialize-source (这种方式我也用过,建议还是第一种。)
5.复制初始化的密码(后续要用)
第二步执行后会有一段文字提示,里面有初始化后的密码,大概是这样一串,复制出来
root@localhost: lqDun&Xe=4Ig
冒号后面就是初始密码了。如果忘记密码了可以去安装目录下的data文件夹下找一个.err后缀的文件,查找A temporary password is这句话大概就可查到密码了。
如果在.err文件看到下图这句话也不用担心,那就是初始密码为空。
6. 安装配置第二个MySQL服务(示例中的路径需要替换成自己的安装目录)
此处注意服务名不要与第一个相同,自己定义一下
(检查是否CMD以管理员身份进入第二个MySQL安装目录的bin目录下)
mysqld install MySQL8.4 --defaults-file=D:/software/mysql-8.4.0-winx64/my.ini
7. 修改注册表
运行redegit打开注册表。搜索服务名称,修改对应的ImagePath。
没改之前你看到的ImagePath的value,双引号里面可能是第一个MYSQL的路径,改成第二的就好了。
注意先备份原来的,万一改错了还能回退。
"D:\software\mysql-8.4.0-winx64\bin\mysqld" --defaults-file=D:/software/mysql-8.4.0-winx64/my.ini MySQL8.4
8. 启动服务
net start MySQL8.4
如果服务配置错了,想删除,可以使用如下命令操作(必须是以管理员身份打开CMD):
查看服务
sc queryex type=service state=all
删除服务
sc delete MySQL8.4
到这里整个过程就差不多了,如果想要修改密码或调整root访问权限就继续往下看。
9. CMD窗口继续连接mysql (必须在第二个MySQL安装目录的bin目录下执行)
mysql连接3306的方式:mysql -u root -p
mysql连接非3306的方式,我设置的第二个MYSQL默认端口为3307:mysql -hlocalhost -P3307 -u root -p
10. 输入密码
上面初始化完记录的的密码复制过来即可。
如果密码回空,直接回车就好。
11. 修改密码为自己容易记住的密码(初始化的密码一般比较难记)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
12. 授权,让root能通过IP访问。(有需要就做)
use mysql;
update mysql.user set host='%' where user='root';
13.测试连接
到这里就结束啦,如果出现其他问题可以留言讨论。
没做过总归会遇到各种奇奇怪怪的问题,我也是一样,不要放弃呀,总归会有解法的。
参考:https://blog.csdn.net/sinat_40770656/article/details/101027777