MySQL8.0.13(.zip)安装(重在my.ini文件配置)[2019亲测]详解 无法启动问题

MySQL8.0.13(.zip)安装以及服务无法启动(重在my.ini文件配置)和初始密码
2019.1.12.13:47分
周五下午闲着无聊,想倒腾一下怎么把数据库装到别的盘,因为在C盘太不顺眼了,个人习惯!
接下来几下就轻松卸载了,(原来的版本是MySQL5.7.24) 重装就想着弄个新版本把!!!!
过程中就出现了一堆问题,刚开始是修改各种文件都不得骑姐,随后又是遇到卸载不完全的问题,导致安装不成功!最后又遇到“服务无法启动,服务没有报告任何错误”死活弄不好,在网上看了很多方法 大坑小坑就不一一说了。

方法如下
从MySQL官网上下载程序包(免安装):https://dev.mysql.com/downloads/mysql/ (选择mysql-8.0.13-winx64.zip),然后把程序包解压到所要安装的目录下
在环境变量的Path中加入MySQL根目录中的bin目录的路径( 这是我的路径————D:\mysql数据库\mysql-8.0.13-winx64\bin),你们的你们自己应该知道自己安装到哪里了??咋们先把环境变量给配置好,以后都要用的呢;
测试是否成功:Win+r,出入cmd,回车,在命令行中输入mysql -V (注意是大写的V),这表示查看MySQL的版本号,能查到就表示环境变量配置成功了

然后就是配置my.ini文件
配置好my.ini文件放到mysql的根目录下,my.ini内容(供参考)如下:
记住路径改成你们自己的!!
[Client]
port = 3306
[mysqld]
port = 3306
server_id =10
basedir= D:\mysql数据库\mysql-8.0.13-winx64\bin
datadir= D:\mysql数据库\mysql-8.0.13-winx64\bin/data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#忘记密码时使用下面的命令
#skip-grant-tables
#设置协议认证方式
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8

注意(一定要去安装目录运行,我吃过亏!!)
命令行(管理员方式启动CMD)输入 cd D:\Program_Files\mysql-8.0.13-winx64\bin
表示定位到文件执行的目录下
输入 mysqld --initialize --user=mysql --console

我的执行结果是这个
D:\mysql数据库\mysql-8.0.13-winx64\bin>mysqld --initialize --user=mysql --console
2019-01-12T04:40:08.993757Z 0 [Warning] [MY-010915] [Server] ‘NO_ZERO_DATE’, ‘NO_ZERO_IN_DATE’ and
‘ERROR_FOR_DIVISION_B
Y_ZERO’ sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2019-01-12T04:40:08.993757Z 0 [System] [MY-013169] [Server] D:\mysql数据库\mysql-8.0.13-winx64\bin
\mysqld.exe (mysqld 8.
0.13) initializing of server in progress as process 4804
2019-01-12T04:40:08.993757Z 0 [Warning] [MY-013242] [Server] --character-set-server: ‘utf8’ is currently an alias for th
e character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order tobe unambiguous.
2019-01-12T04:40:28.871388Z 5 [Note] [MY-010454] [Server] ~~A temporary password is generated for~~
root@localhost: ###¥%#…… (root@localhost:后面这一部分就是你的密码了)
2019-01-12T04:40:44.482432Z 0 [System] [MY-013170] [Server] D:\mysql数据库\mysql-8.0.13-winx64\bin
\mysqld.exe (mysqld 8.0.13) initializing of server has completed

以上表示初始化mysql服务(有看到其他同志们用的是mysqld --initialize --insecure或者mysqld --initialize,我试着不行,后面初始化ok了之后没找到初始密码,就很尴尬),能在命令行中显示临时的初始密码,后面进入mysql会用到,所以这个要保存好;
执行结果中的这一句就包含了临时密码“A temporary password is generated for root@localhost: fugihc¥?:”在我这里临时初始密码是fugihc¥?这个东西
输入 mysqld --install
表示安装mysql服务,成功则会提示“Serve successfully installed.”;
若是你不小心目录弄错了,要装到其他目录去,你会发现你再装的时候就有一个问题,提示“ervice already exist!”,这个时候就纳闷了,但还是有办法的。输入 mysqld -remove MySQL 就能解决了
输入 net start mysql
表示启动mysql服务,同样也可以通过在系统的服务(图形界面操作,Win+r,输入service.msc,找到MySQL)中开启;
此操作执行成功后就会提示“服务MySQL已经启动成功”;
若不成功可能会提示“服务无法启动,服务没有报告任何错误”并且按照它的提示去做也发现不了问题,因为还是会提示“服务报告没有任何错误”,所以说我搞到这就差点崩溃了,这是什么操作嘛(黑人脸问号)
经过上述步骤,若都能成功的话,那你离成功就只差一步了,就差进入mysql验证是否配置成功了呀
输入mysql -uroot -p,回车后输入密码(这个密码哪里来的呢,我们没设置密码啊,按照以前5.5,5.7的版本,我们默认的就是5.7,那你想着肯定就是这些了啊,结果密码输了几次发现不是root,根不是什么mysql,那你又得崩溃了,看看第4点,之前的步骤其实是有铺垫的了),OK能进去了,我感动流涕啊耗了一个下午还有晚上的时间
最后修改密码 ALTER USER root@localhost IDENTIFIED BY ‘123456’;
把密码修改为123456,当然这个语句是要在进入了mysql之后执行的,注意看命令行的首部的标识符,是mysql>;
然后就可以了,退出之后重新测试一下新密码,大功告成
总结
①其实这个不复杂的,尝试的时候有自己的思路就OK了,试多几次然后对比总结,学到的东西会多很多呢;
②我觉得问题主要有两个,第一是这些命令的执行顺序,要按着顺序来,你不懂没关系吧,每种顺序试一下,况且网上又有资料,你知道他们的大概用处,猜一下正常顺序不难的,因为核心的命令就只有两条:install和initialize;
③第二个是my.ini的配置内容,千万不要搞错了,直接复制过来,然后再用英语常识判断一下别人的代码有没有拼写错误;
my.ini文件中必要的配置:
default-character-set=utf8

MySQL的根目录

basedir=D:\mysql5.1
datadir=D:\mysql5.1\data
port=3306
④然后关于注册表这些东西,网上有些大神有教,但我建议大家别乱来,毕竟人家是知道自己的问题所在然后又懂注册表各种的,他们一些列的操作都知道自己在干什么,你胡来随便删个注册表,搞对了是挺好的,万一错了呢,然后又忘了备份,那个时候就惨咯
下面的是我的一个配置过程,希望你也能感受到图片末尾看见Welcome to MySQL monitor.的喜悦

配置过程_成功例
参考:
https://blog.csdn.net/zijian_/article/details/81004761
https://blog.csdn.net/liyangyang0528/article/details/54233632
http://niutuku.com/tech/Mysql/237849.shtml

此文借鉴了hungry_fish的博文 不足之处请多多指教

猜你喜欢

转载自blog.csdn.net/weixin_43843797/article/details/86358226