原文链接:https://blog.csdn.net/qq_14868375/article/details/94733448
最近业务需要需要用到mysql8,因为以前电脑上已经安装有MySQL5.5了,而且旧数据都在MySQL5.5中,但是我不想迁移数据了,所以就直接又安装了一个MySQL5.8。下面记录一下安装过程。
先下载windows系统mysql的8.0.16非安装版(mysql-8.0.16-winx64.zip)。下载可参考这里。
下载好后开始安装mysql8。我将新的MySQL8安装到了E盘中,所以在E盘中新建E:\MySQLServer8.0.16文件路径。注意这个文件夹中间不能有空格,要不然安装时容易报错。然后将下载好的压缩文件解压到MySQLServer8.0.16这个文件夹下。解压后如下图所示。
然后在MySQLServer8.0.16下新建my.ini文件,给my.ini文件赋值如下初始值。
[mysqld]
# 设置3306端口
port=3308
server_id = 1
# 设置mysql的安装目录
basedir=E:\MySQLServer8.0.16
# 设置mysql数据库的数据的存放目录
datadir=E:\MySQLServer8.0.16\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3308
default-character-set=utf8mb4
然后以管理员身份打开CMD,进入到E:\MySQLServer8.0.16\bin文件夹下,开始初始化要安装的MySQL。输入mysqld --defaults-file=E:\MySQLServer8.0.16\my.ini --initialize --console命令初始化MySQL。当出现下图所示就初始化成功了。
其中A temporary password is generated for root@localhost: kD,fahk<)2!I这句话是在提示kD,fahk<)2!I是刚生成的临时密码,记下这个密码一定不要忘记,待会儿登陆要用。初始化成功后MySQLServer8.0.16文件夹下会自动生成一个Data文件夹。
然后运行mysqld install MySQL2 --defaults-file="E:\MySQLServer8.0.16\my.ini"命令,安装这个MySQL,MySQL的运行名称为MySQL2,这里记着一定要记得修改MySQL的运行名称否则会和原先安装的那个冲突,因为原先安装的默认名称就是MySQL。当出现如下图所示的提示后MySQL2就安装成功了。
这时直接输入net start mysql2启动MySQL2会报错。因为以前安装过低版本的MySQL,系统的注册表中已经设置成了旧的那个MySQL的启动目录命令,用旧版本的命令启动新版本的MySQL会有指令不能识别,所以不能启动。这一点从下面图中的对比就能看出来。所以要先修改MySQL2的注册表启动镜像命令才可以启动。
打开注册表开始修改注册表,windows键加R键输入regedit打开注册表, 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql2,修改ImagePath参数。
修改参数
修改参数后点击确定完成修改,然后使用net start mysql2启动新安装的mysql2发下启动成功,输出下图所示信息。
最后登录mysql2修改MySQL2的密码即可。输入mysql -uroot -p -P3308 然后输入刚才的临时密码登陆MySQL,输入ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';出现下图提示则修改密码成功。
修改完密码后输入exit退出mysql,然后用Navicat使用新密码连接MySQL2登陆即可。到此新版本MySQL安装完成。