将mysql安装路径下的data文件夹清空(注意是清空,不是整个删掉),然后cmd进入bin目录下,输入:
mysqld --initialize
等待,完成后 输入:
net start mysql
启动完成! 我遇到的坑是,整个删掉data文件夹后再重新创建data,这时候initailize却无法再启动成功,很奇怪。 然后就是修改密码(因为initialize后导致root的密码更改了,所以需要重设),输入:
mysql -u root -p
后无法出现welcome,反而出现了Access Denied,并且启动好的mysql服务又停了,这里必须说一下我又踩了一个坑,那就是之前在csdn上搜索到让在安装目录下的my.ini文件中[mysqld]下写上skip-grant-tables 啥的,注意哈这句话不要写,这个解决方案也是在csdn上看到的(纠结)。 然后就是,[mysqld]下的sql-mode也不要写NO_AUTO_CREATE_USER ,mysql8以后的版本不支持这个了(这一说法没有准确出处,仅仅来源于网络)。 再就是,修改密码时不知道为什么:
update user set authentication_string=password('XXX') where user='root';
老是报错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('xxx') where user='root'' at line 1
我当下没看出什么语法问题,后来查了下百度发现还是authentication_string这个字段不对,所以最后使用:
set password = '123456'
直接解决,以后有坑再更新。
|