如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL数据库了,(也就是说装完mysql后,不管你当前路径在哪,直接输入mysql就可以进入mysql数据库,那是因为里面本身就有一个匿名的账户可以直接登录的,这样很不安全)当然这样子是可以直接进入mysql,但如果我装完mysql后,运行下面三段sql语句后,你再想用mysql直接进入数据库就不行咯~,它会提示“ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password: NO)”一定要用mysql -u root -p123456才行
//为mysql设置密码,一定要password = password('123456'),因为你会发现mysql.usr表的密码都是有加过密的,如果用password = 123456,那么密码也就成123456而不是加密的,password()是个函数,用来加密用的
mysql -u root -e "update mysql.user set password = password('123456') where user='root'"
//删除为空的记录
mysql -u root -e "delete from mysql.user where user=''"
//刷新
mysql -u root -e "flush privileges",
备注:上面三段mysql不需要进入数据库后再执行,不管当前在什么路径下,都可直接运行
上面这种情况,如果你想输入mysql后直接进入数据库,那么就按下面的方法来操作:
[root@localhost ~]# vi ~/.bashrc
# .bashrc
alias mysql='mysql -uroot -p123456
加上alias mysql='mysql -uroot -p123456这句,退出重新登录,就可以了