在MySQL中创建用户是非常简单的,只需要使用CREATE USER语句即可。但是,如果你使用了错误的语法或者被黑客攻击了,就可能出现一个没有任何用户的情况。
mysql>SELECT User, Host FROM mysql.user; Empty set (0.00 sec)
如上所示,如果使用了正确的语法,但是依然没有任何用户,那么这个问题很可能是因为刚刚安装的MySQL没有初始化。如果是这种情况,那么你需要重新初始化MySQL。
$ sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
在初始化之后,你需要为MySQL创建一个root用户。请注意,MySQL的root用户不同于操作系统的root用户。
$ mysql -u root mysql>CREATE USER 'root'@'localhost' IDENTIFIED BY 'password'; mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES;
现在,你可以检查是否创建了一个root用户。
mysql>SELECT User, Host FROM mysql.user; +------+-----------+ | User | Host | +------+-----------+ | root | localhost | +------+-----------+ 1 row in set (0.00 sec)
如果你得到了以上结果,那么你已经成功地创建了一个MySQL用户。
总结来说,如果MySQL没有任何用户,那么这个问题可能是由于MySQL没有初始化或者被黑客攻击了。解决这个问题的方法是重新初始化MySQL并创建一个root用户。