解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动

昨天下了WampServer差点没把我气死,下下来之后也不好使,还显示丢失啥啥啥文件,(´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`) 然后MySQL也不好使。心态崩了。下面说一下MySQL遇到的问题以及解决方法。


安装MySQL之后输密码之后闪退:有三种情况

**1.**最简单的, MySQL如果你输错了密码他就会闪退的。
  **2.**如果你刚安装MySQL,并且下载安装过程中,他没有提示你填写用户名和密码,那你就是默认用户名root,默认密码是没密码,进去之后直接回车就可以了。
  **3.你的MySQL服务没打开,去服务列表打开MySQL服务就好了(win+R输入services.msc回车打开服务列表)。可能出现特殊情况比较特殊了,比如你去看一下服务列表,然后你进去之后发现列表里根本就没有MySQL这种东西!!!**然后我试遍了各种教程……大部分都不好使。


服务列表里找不到MySQL

win+R输入cmd回车打开,然后进去MySQL的安装目录的bin文件夹。cmd进入文件夹方法,在黄色框框里(文件夹名字也可以不加引号)。然后输入mysql.exe -install,如果提示Service successfully installed. 就证明你成功了,现在服务列表里就可以找到MySQL了。

mysql.exe -install

但是,看下图,它会显示Install/Remove of the Service Denied!,这就说明你没有管理员权限,你就需要以管理员身份运行。
  解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动_第1张图片
  看下图,我电脑是这样,点那个小圈圈就可以搜索应用(因电脑而异,你们自己找找),然后在搜索栏输入cmd,找到之后右键以管理员身份打开就可以了。
  解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动_第2张图片
  然后重复刚才步骤再进入文件夹输入mysql.exe -install就提示你Service successfully installed. 了。(不要关了cmd,待会还有用)
  解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动_第3张图片


那么问题又来了,服务列表里根本点不了那个启动服务啊。

这时候继续在你刚才的那个cmd里输入net start mysql

net start mysql

然后他就提示你服务启动失败,(。◕ˇ∀ˇ◕)气不气,气不气,气死你!
  这时候你要打开你的文件夹管理器,然后进入他的安装目录,看看里边是不是有个my.ini文件。或者说有个my.default.ini,把他改名为my.ini,并且将my.ini移至bin文件夹里边。然后回到cmd进入安装目录,然后进入bin文件夹,输入mysqld --initialize --user=mysql --console

mysqld --initialize --user=mysql --console

解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动_第4张图片
  上图中第二个黄色框框给了你一个临时密码,复制下来,记得开头没有空格!!!然后你打开MySQL就好使了,输入密码就是你刚才黄框框中的密码,好好输入!输错了还会闪退!!!
  解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动_第5张图片
  然后你要修改初始密码,下图黄框框中语句就是修改密码。修改完后,select user(); 看看,现在你的用户名就是root,你的密码就是你刚刚修改的了。

set password = password(‘新密码’);

解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动_第6张图片


但是如果你用select u s e r user user from mysql.user; 来查看的话,你会发现有三个用户。

mysql> select user from mysql.user;
+---------------+
| user          |
+---------------+
| mysql.session |
| mysql.sys     |
| root          |
+---------------+
3 rows in set (0.03 sec)

解决方法:①MySQL 闪退 ②服务列表里找不到MySQL ③MySQL服务无法启动_第7张图片
  我用的是select host,user, password_expired,password_last_changed from mysql.user;区别就是多显示 host,password_expired,password_last_changed几项而已。如果你想查看全部用户信息可以用select * from mysql.user;

select user from mysql.user;      //只查看用户名
select * from mysql.user;       //查看用户所有信息

这时候你会发现除了你的默认root,还多出mysql.session 和 mysql.sys两个用户。这两个不要管他,是MySQL 5.7 新增默认账号。

mysql.sys:用于 sys schema中对象的定义。使用 mysql.sys 用户可避免DBA重命名或者删除root用户时发生的问题。该用户已被锁定,客户端无法连接。
mysql.sessio:插件内部使用来访问服务器。该用户已被锁定,客户端无法连接。


我是萝莉安,想做个程序媛

你可能感兴趣的:(各种教程)