前言
对于一个刚安装好的 MySQL 服务器,任何人都可以无需输入密码的情况下登录它的 root 用户并不受限制地对所有的数据库进行读、写和删除操作。从系统安全的角度考虑,为 root 用户设置一个密码是绝对有必要的。这项工作可以用下面这条命令来完成(别忘了把命令中的 hostname 替换为计算机的真实名字):
root# mysqladmin -u root password 'secret'
root# mysqladmin -u root -h hostname password 'secret'
在执行这条命令时,系统可能会返回这样一条出错信息:
Host 'hostname' is not allowed to connect to this MySQL server
主体 "hostname" 不允许访问这台 MySQL服务器。
这种情况,说明在安装 MySQL 期间输入了主机名(它将被存入 Access 数据库)没有域名部分。
这个问题的解决办法是:重新启动 mysql 程序,用 update 命令刷新 mysql.user 数据表,然后用 mysqladmin 命令修改第二个 root 密码。下面完成上述过程所需要执行的命令。当然,必须把命令中的 uranus.sol 和 uranus 替换为计算机的真实名字,一次带有域名部分,另一次不带域名部分。
root# mysql -u root -p
Enter password:******
mysql> USE mysql;
mysql> UPDATE user SET host="uranus.sol" WHERE host="uranus";
mysql> FLUSH PRIVILEGES;
mysql> exit
root# mysqladmin -u root -h uranus password "secret"
MySQL 的 Access 数据库里主机名不正确的问题与 Linux 系统的网络配置有关。
资料来源:《 MySQL 5 权威指南(第3版)》P 51
-- 完结 --