php连接mysql
由于在安装apache+php+mysql时,分开安装一直存在问题,于是下载了一键安装xampp来安装,但是安装后发现php连接mysql时,一直出现各种错误,有error1044、error1405等,在网上搜了一下,很多都说是mysql的root密码的问题。
开始在网上尝试大神们的各种方法,不知道为什么,mysql一直不给力,root的密码迟迟没有设置修改成功,一直没有结果,一直error1044,看到有个哥们说自己因为这个东西弄了两天一夜,感觉有点淡疼了!
就在我淡疼无比的时候,突然找到一个方法,在此多谢韦伯的工作备忘录http://blog.sina.com.cn/s/blog_5d299f3e0100vi5j.html,通过这个方法搞定了!
具体如下:
1. 停止mysql:用图形化工具或者在cmd命令下输入net stop mysql,在c盘根目录下输入
2. 打开cmd,切换目录到 /xampp/mysql/bin, 运行
mysqld --skip-grant-tables
这条命令是跳过权限检查启动mysql服务
输完后enter这个窗口进入无法操作状态,保持这个窗口别关闭
3. 打开另一个cmd,同样切换目录到 /xampp/mysql/bin,运行
mysql –u root
用root登录到数据库
4. 修改root的密码
>use mysql
>update user set password=PASSWORD(’新密码’) where
user=’root’
>flush privileges
完成修改,最好每一步都要严格这么做,几个注意问题:一定要先停止mysql在进行这一系列操作,二是注意命令的完整性,比如空格,几个-等细节,一定要 用那个PASSWORD函数,否则你输入的是加密后的,原始密码不是你输入的,用这个函数你输入的密码就是为经过加密的原密码,就可以用你输入的密码登 录,三是修改完密码后一定要输入flush privileges,否则修改不会被保存。
有两点需要说明的:1、是否一定要重启mysql才能成功,因为我自己在试这个方法的时候没有太注意。
2、一定要注意第4步的最后一句话,flush privilege;否则修改不会生效,在此之前我也做到了这一步,可惜就是没有这句命令,让我又花了不少时间。