遇到这个问题2天多了,很是头疼,先是无法建数据库,就是用的默认test,为了赶紧能演示,后test无法远程访问,于是我的demo很悲剧的用的截图。

之后一阵查,发现确实是权限问题,一点点解决了,首先是解决无法创建数据库的问题:

Mysql 远程访问遇到这个问题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编码的。

解决方法:

/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编码的。