昨晚遇到的数据库问题一直没有找到解决方法,今天早晨来了,从新google一下,而后再按照步骤执行如下,发下ok了。呵呵。步骤以下:html
# /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' and host='root' or host='localhost';//把空的用户密码都修改为非空的密码就好了。
mysql> FLUSH PRIVILEGES;
mysql> quitmysql
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>sql
摘自:http://huangyifa163.blog.163.com/blog/static/262875752011127102215790/。数据库
添加:原本觉得以上就ok了,谁知道在win7上链接ubuntu的mysql服务器的时候,仍然出现问题,是想修改一下权限,用GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'password',提示access denied ''@'%' ……。又是查找一番,突然发现有种写法是GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'password',就是root不加‘’,我觉得找到问题了,因而重启,准备实验一下,谁知道重启后,再链接,ok了。呵呵呵,原来就是上面写的密码修改好了就ok了。ubuntu
再添加:个人用mysql客户端是heidiSQL,由于以前公司用的是这个,这个软件用着小巧,可是功能强大,界面布局颜色感受也很不错,因此,如今还用它。用它链接ubuntu的mysql服务器,每次都提示ERROR (1045)#0: Access denied for user 'root'@'192.168.1.123' (using password: YES),有时候又能够,最后才认定是个人系统的网络驱动有点问题,链接时候会出现异常。服务器
add:ERROR 1045 (28000): Access denied for user ''@'localhost' (using password: YES)网络
开始的时候,mysql的错误提示如以前所遇到的,就按照以上的步骤去解决,而此次在执行grant权限操做时候,以上一个错误出现了。这个错误开始没放在心上,处理的方法仍是按照以前的步骤进行的,可是问题依旧,搞得我一点精神都没有。没办法,昨天已经搞了一天了,今天要解决啊,因而,对于遇到的每一个错误,都google解决方案,查看错误缘由,最后解决方案找到了,并且链接成功:摘自http://2828602.blog.51cto.com/2818602/769788ide
错误缘由是mysql的密码有问题,用mysql匿名用户能够进入数据库,可是看不见mysql数据库.布局
解决办法:ui
具体操做步骤:
关闭mysql:
# service mysqld stop
而后:
# mysqld_safe --skip-grant-tables (这一步貌似在我这一直执行不完似的,最后强制中止了它,继续下面的操做)
启动mysql:
# service mysqld start
mysql -u root
mysql> use mysql
mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';
mysql> flush privileges;
mysql>\q
到这里密码已经修改为功,
mysql -u root -p
输入刚才设置的密码,就能够成功登录。
以上是在ubuntu下,如今在win7下安装mysql,安装时候忘配置了,而后也遇到了之上的相似错误,解决方法好像有所不一样,用UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';,一直提示语法错误,好吧,从新找答案:http://blog.sina.com.cn/s/blog_7b8e2cf30100z7qs.html就ok了,以下:
登录root用户并修改密码
mysql -u root -p
Enter Password: #不输入直接回车默认密码
进入mysql> #mysql命令行
set password for 'root'@'localhost' = password('123456');
set password for 'root'@'127.0.0.1' = password('123456');