遇到这个问题2天多了,很是头疼,先是无法建数据库,就是用的默认test,为了赶紧能演示,后test无法远程访问,于是我的demo很悲剧的用的截图。
之后一阵查,发现确实是权限问题,一点点解决了,首先是解决无法创建数据库的问题:
Mysql 远程访问SQLSTATE[28000][1045] Access denied for user 'root'@'localhost'(use Password No)
解决方法:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
网上找的答案,我的是非root安装的,mysql服务是mysql.server.用root进去就解决了建库问题,接下来是远程访问的问题:
Mysql 远程访问SQLSTATE[28000][1045] Access denied for user 'root'@'localhost'(use Password Yes)
mysql>grant all on *.* to user_name@'%' identified by 'use_password'
mysql>FLUSH PRIVILEGES;
就可以了。只是还有问题,就是使用linux下插入的中文到了windows下的Navicat查看总是乱码,反之不是,很是奇怪,都是utf8编码的。
原文: http://blog.csdn.net/ashelyhss/article/details/7839268
之后一阵查,发现确实是权限问题,一点点解决了,首先是解决无法创建数据库的问题:
Mysql 远程访问SQLSTATE[28000][1045] Access denied for user 'root'@'localhost'(use Password No)
解决方法:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
网上找的答案,我的是非root安装的,mysql服务是mysql.server.用root进去就解决了建库问题,接下来是远程访问的问题:
Mysql 远程访问SQLSTATE[28000][1045] Access denied for user 'root'@'localhost'(use Password Yes)
mysql>grant all on *.* to user_name@'%' identified by 'use_password'
mysql>FLUSH PRIVILEGES;
就可以了。只是还有问题,就是使用linux下插入的中文到了windows下的Navicat查看总是乱码,反之不是,很是奇怪,都是utf8编码的。
原文: http://blog.csdn.net/ashelyhss/article/details/7839268