转自http://shinehuayan76.blog.163.com/blog/static/58214422200910114354639/
本人是个Linux菜鸟,第一次在CentOS系统中安装MySQL,出现了不能设置root密码问题(在这windows几乎不存在的问题),而且用show databases命令时,有时候没有mysql数据库,当时不知道什么原因,总之是把MySQL反复的卸载和重装,还是没搞定,最后看到一下这篇文章,终于成功设置密码,一切功能和现象都和windows下的一样,再次感谢本文作者,这里转载过来一方面是留给自己以后使用,另一方面也为了帮助那些和我有一样遇到类似问题的人。
方法一:
# /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>
mysql>
第一种方法就比较有效。
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法三:
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!!
# mysql -uroot -p
Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>