mysql root的问题

来源:互联网 发布:树形结构数据库设计 编辑:程序博客网 时间:2024/05/22 04:56

昨天装好了MySQL,暂时没有设置root密码(root密码为空),暂时跑着也没问题

不过今天对数据库做了一些操作,突然发现用mysql登陆进去之后,看不到内部管理用的数据库"mysql"了,用命令use mysql,显示如下错误信息:

Access denied for user ''@'localhost' to database 'mysql'

即使用mysql -u root登陆进去也不行,google了一下,说是需要设置root密码,方法如下:

用安全模式启动mysql

service mysql stop

/usr/bin/mysqld_safe --skip-grunt-tables

设置root密码

新开一个SSH连接

# mysql

mysql> use mysql

mysql> update user set password=password('the_root_password') where user = 'root';

mysql> flush privileges;

mysql> exit

恢复普通模式启动mysql

service mysql stop

service mysql start

登陆

现在再用mysql或者mysql -u root登陆,就会报错了,错误信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

需要用mysql -u root -p访问,如果输错密码,则会显示错误信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

输入正确密码之后,则会以root身份登陆,就又可以看到"mysql"数据库了