一台电脑双mysql版本安装的艰辛路程总结
想想都难受,为了想保住本机的5.7版本,在不卸载的情况下装一个mysql8.0以上版本,
1.为了方便起见我们先把本机mysql服务都停了(快捷win+R 运行 【services.msc】 打开【服务】然后将MYSQL57关了)
2.如果你的my.ini文件在安装目录直接打开,如果不在,一般在c盘全局搜一下my.ini就有了,改一下里面的客户端与服务端两个端口,可以改成3307,反正避开3306就行
3.官网上下载好非安装版(即解压帮)的mysql,解压后放到你想安装的盘,然后以管理员身份打开dos(即cmd)
初始化数据库
在MySQL安装目录的 bin 目录下(即cd mysql8的bin目录路径)执行命令:
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码,比如:
2018-05-01T14:35:01.507037Z 0 [Warning] [MY-010915] [Server] ‘NO_ZERO_DATE’, ‘NO_ZERO_IN_DATE’ and ‘ERROR_FOR_DIVISION_BY_ZERO’ sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2018-05-01T14:35:01.507640Z 0 [System] [MY-013169] [Server] D:\Program\MySQL8\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 11064
2018-05-01T14:35:01.508173Z 0 [ERROR] [MY-010340] [Server] Error message file ‘D:\Program Files\mysql-8.0.11-winx64\share\english\errmsg.sys’ had only 1090 error messages, but it should contain at least 4512 error messages. Check that the above file is the right version for this program!
2018-05-01T14:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
2018-05-01T14:35:07.017280Z 0 [System] [MY-013170] [Server] D:\Program\MySQL8\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
其中,第4行的“APWCY5ws&hjQ”就是初始密码,在没有更改密码前,需要记住这个密码,后续登录需要用到。
要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
3.安装并启动服务
在MySQL安装目录的 bin 目录下执行命令:
mysqld --install [服务名]
后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。
安装完成之后,就可以通过命令net start mysql8服务名 启动MySQL的服务了。
4.修改密码
在MySQL安装目录的 bin 目录下执行命令:
mysql -uroot -p
这时候会提示输入密码,记住了第3步的密码,填入即可登录成功,进入MySQL命令模式
在MySQL8.0.4以前,执行
SET PASSWORD=PASSWORD(’[修改的密码]’);
就可以更改密码,但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。
因为当前有很多数据库工具和链接包都不支持“caching_sha2_password”,为了方便,我暂时还是改回了“mysql_native_password”认证插件。
在MySQL中执行命令:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;(注意一定要有分号)(注意一定要有分号)
修改密码验证插件,同时修改密码。
如果想默认使用“mysql_native_password”插件认证,可以在配置文件中配置default_authentication_plugin项。
[mysqld]
default_authentication_plugin=mysql_native_password
坑的总结
最后我要提醒访客的是:如果你按照以上方法反复安装出现dos登入时报错的情况,那么请不要纠结,直接把这个解压后的8.0以上版本删掉,记得服务名也要同时删掉删掉 dos命令:sc delete mysql8服务名 ,然后将你下载的mysql8zip包重新解压一边放在要安装的位置重新按照上面方法安装,这点要切记,不可想当然,不然会吃掉你很多时间(这就是我一直装了很久的原因),如果这样还不行,可能还需要配置下环境变量,因为我在安装的过程中也配置了环境变量,不过我认为这个关系不大,至于配置环境变量的方法和配置Java环境变量方式一样,不过如果5.7的版本若也存在与环境变量中,请先删掉, 注意配置完请保存,记得最后还要点一个确定的,配完环境变量还要重启,,,,
最后还有一点要说明就是我这个8.0以上版本的安装过程中没有涉及到这个版本mysql 的my.ini文件的修改,毕竟我在一开始就改了5.7版本的mysql把3306端口让了出来。
---------------------
作者:www.kingyase.com
来源:CSDN
原文:https://blog.csdn.net/weixin_42206151/article/details/85011251