这个问题的主要原因是wampserver中安装的mysql初始密码为空,在mysql命令行中enter password可以直接进入,但是只能查看数据库和读取,无法实现创建和写入,如果调用update create 这些查询语句就会报 access denied for 'root' user 之类的话。
这个问题,在我的电脑上只有初始化密码之后才能解决,网上例子很多,但是都不成功,推荐一种可行的方法。
1 首先通过wampserver打开 mysql的命令行,其实也就是打开mysql目录下的mysql.exe文件
2 在命令行中输入如下命令: set PASSWORD FOR root@localhost= PASSWORD(' 123456') //123465是我自己的密码,各位可以自行修改
这个是set命令适用于第一次设置root密码,如果之前已经用过set修改过或者用phpmyadmin或者mysql workbench 这些修改过密码的话,就用update命令,后面会讲。
3 输入命令后显示设置成功了,由于我之前搜的许多的都是update的,所以才没有成功。
4 大家设置密码后可能会遇到的另一个问题是phpmyadmin不能打开了,显示这个错误,
原因就是由于密码设置修改了,但是phpmyadmin登录时调用的php访问数据库的文件中使用的还是原来的密码 (也就是空密码),我们只需要改下这个php代码中用于登录的变量就可以了。
需要修改的php文件config.inc.php , 文件路径在C:\Wamp\apps\phpmyadmin3.5.1 (安装文件默认在c盘,可自行修改)
将此文件的密码部分进行修改, 是否allowoNoPassword可以不用设置,没有什么影响。
另外,大家可能设置完之后可能还是打不开phpmyadmin,(比如我)
这个时候大家将上面文件中[' auth_type']='config'也进行修改,设置为 ['auth_type']='cookie', 应该就可以了
如果之前设置过密码,但是忘了,可以用的update命令进行重置,不需要用set那个语句设置了。
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
如果还不行,大家可以参照mysql官方网站的七步法进行操作(我的没有成功),http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html