这些问题在实际开发中其实不常见到,但在每一次折腾新的配置及需求,需要安装新的MySQL时,这时烦人的问题就出现了。笔者不是第一次遇到这类问题,但是每次都入坑,因此现将相关问题的实际中的解决办法写下来,以备不时之需。
总结这类问题通常的解决办法如下:
(1)获取MySQL的无密码验证权限。具体办法是在my.ini中增加语句。
skip-grant-tables
(2)在使用系统的管理员权限,windows下运行cmd命令,通过使用
mysql -uroot -p
回车(要求输入password),不输入密码直接回车进入mysql。
(3)接下来,对于不同的mysql版本,修改root账号密码的语句不同。
首先都是切换到mysql数据库: use mysql,然后才是更新语句。
如在5.5中:
UPDATE user SET password=PASSWORD('123456')WHERE user='root';
在5.7中:
update user set authentication_string=password('123456') where user='root';
(4)如果是5.7版本,还需要cmd命令行切换到mysql\bin目录下,再通过输入刚刚的
mysql -uroot -p******进入mysql。如果这时输入任何mysql命令,都会报错如下:
ERROR:1862 , your password has expired...(密码过期)
这时需要再设置一下密码:
SET PASSWORD = PASSWORD('123456');
(5)mysql常见的还有如“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动。”
这类问题一般的解决办法就是删除MySQL服务,删除MySQL下的data文件夹,然后重新根据初始化MySQL,重新安装服务,具体如下:
1.cmd切换到MySQL\bin下
mysqld --defaults-file="C:\XXX\mysql\my.ini" --initialize
2.安装服务
mysqld --install mysqlXXX(服务别名) --defaults-file=C:\Program Files\MySQL\my.ini
3.启动服务
net start mysql
网友评论