错误描述:
安装MySQL最后一步出现错误Error Nr.1045
Connection Error
Error Nr.1045
Access denied for user 'root'@'localhost' (using password:NO)
解决方法:
1.停止MySQL服务:这台电脑-->右键 管理-->服务和应用程序-->服务 找到名为"MySQL"的服务 右键停用
2.进控制面板卸载MySQL
3.进入系统通用的数据文件夹删除MySQL文件夹
注意XP和win7目录不一样
XP目录:C:/Documents and Settings/All Users/Application Data
win7/8/8.1/10目录:C:/ProgramData或者%ProgramData%
注意:win7/8/8.1/10系统默认不显示通用数据文件夹,需要通过查看-->隐藏的项目显示
删除上图的MySQL文件夹即可
4.重新安装 这次不报错了
附:常见的系统内置环境变量
C:/Users/[用户名]/AppData/Roaming<-->%AppData%[win7及以上]
C:/Documents and Settings/[用户名]/Application Data<-->%AppData%[XP]
C:/ProgramData<-->%ProgramData%[win7及以上]
C:/Windows<-->%SystemRoot%
解决办法:
mysqladmin -h hostname flush-privileges
use mysql; update user set password =password('yourpass') where user='root'
出现无法连接数据库的话,命令行用root用户登陆,敲下面命令:
SET PASSWORD FOR sns@'localhost'=OLD_PASSWORD('sns');
然后刷新mysql权限
FLUSH PRIVILEGES;
导入数据的方法 mysql -u name -p --default-character-set=utf8 databasename < path\*.sql
create database name character set utf8;
如果出现#1251 - Client does not support authentication protocol requested by server;的错误:
解决办法:先用root登录MYSQL服务器,执行
mysql>set password for user1@"localhost"=old_password('yourPassword');
原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。
错误一般有错误提示的,你给出错误提示。一般是默认端口3306端口被占用,你得用netstat -nab 查看那个程序占用3306端口,能后禁用再重弄mysql。 记得如果你以前装mysql会保留以前的root密码,记得要重新设定.