SQL 初始化MySQL用户

阅读(1898)

安装完MySQL后,系统默认会创建一个不需要密码的root用户,和一个无用户名无密码的匿名用户(Anonymous Account)。进行下面的初始化操作以合理授权,增强安全。

设置root密码

先以root身份登入mysql -u root,设置root密码:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

创建新用户

# 创建用户和设置密码
CREATE USER '新用户'@'localhost' IDENTIFIED BY '新密码';
# 对用户授权
GRANT ALL PRIVILEGES ON *.* TO '新用户'@‘localhost'  WITH GRANT OPTION;

删除匿名用户

DROP USER ''@'localhost';

如果提示报错,如:

mysql< DROP USER ''@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for ''@'localhost'

则是因为*nix系统下,需要以'用户'@'hostname'的方式删除。方法如下:

# 先查明确切的hostname
select user,host from mysql.user;
# 找出其中user为空的host名
# 删除此匿名用户
DROP USER ''@'上一步找到的hostname';

via:
设置密码:https://dev.mysql.com/doc/refman/5.1/en/assigning-passwords.html
创建用户:https://dev.mysql.com/doc/refman/5.1/en/adding-users.html