昨天下了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!,这就说明你没有管理员权限,你就需要以管理员身份运行。
看下图,我电脑是这样,点那个小圈圈就可以搜索应用(因电脑而异,你们自己找找),然后在搜索栏输入cmd,找到之后右键以管理员身份打开就可以了。
然后重复刚才步骤再进入文件夹输入mysql.exe -install就提示你Service successfully installed. 了。(不要关了cmd,待会还有用)
那么问题又来了,服务列表里根本点不了那个启动服务啊。
这时候继续在你刚才的那个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就好使了,输入密码就是你刚才黄框框中的密码,好好输入!输错了还会闪退!!!
然后你要修改初始密码,下图黄框框中语句就是修改密码。修改完后,select user(); 看看,现在你的用户名就是root,你的密码就是你刚刚修改的了。
set password = password(‘新密码’);
但是如果你用select useruser from mysql.user; 来查看的话,你会发现有三个用户。
mysql> select user from mysql.user;
+---------------+
| user |
+---------------+
| mysql.session |
| mysql.sys |
| root |
+---------------+
3 rows in set (0.03 sec)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
我用的是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:插件内部使用来访问服务器。该用户已被锁定,客户端无法连接。