如果需要添加 MySQL 用户,只需要在 MySQL 数据库中的 user 表添加新用户即可。
以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限:
--MySQL用户设置 INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES (‘localhost‘, ‘guest‘, PASSWORD(‘guest‘), ‘Y‘, ‘Y‘, ‘Y‘);
在添加用户时,使用MySQL提供的 PASSWORD() 函数来对密码进行加密。
4 warnings 出现的原因:
mysql 用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql 添加用户是不能这样直接 insert user 表的。
解决方法:
正确的添加用户方法:
GRANT USAGE ON *.* TO ‘guest01‘@‘localhost‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;
用户:guest01,密码:123456,这样就添加了一个新的用户,不会出以上的错误了。
select user, host, password from user where user=‘guest01‘;
______________________________________________________________________________________________________________________________________
用 insert 添加用户时,可能会报错:
ERROR 1364 (HY000): Field ‘ssl_cipher‘ doesn‘t have a default value
my-default.ini中有一条语句:
指定了严格模式,为了安全,严格模式禁止通过 insert 这种形式直接修改 mysql 库中的 user 表进行添加新用户
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
将 STRICT_TRANS_TABLES 删掉之后即可使用 insert 添加
另外一种添加用户的方法:
通过SQL的 GRANT 命令,命令会给指定数据表添加用户 guest02 ,密码为 123456 。
常用的用来管理MySQL的命令:
SHOW TABLE STATUS FROM mysql; # 显示数据库 mysql 中所有表的信息 SHOW TABLE STATUS from mysql LIKE ‘user%‘; # 表名以W3Cschool开头的表的信息 SHOW TABLE STATUS from mysql LIKE ‘user%‘\G; # 加上 \G,查询结果按列打印
原文:https://www.cnblogs.com/iceliu/p/11553846.html