MySQL 用户设置
如果需要添加 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的命令:
- USE 数据库名 :选择要操作的MySQL数据库,使用该命令后所有MySQL命令都只针对该数据库。
- SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。
- SHOW TABLES: 显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
- SHOW COLUMNS FROM 数据表: 显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
- SHOW INDEX FROM 数据表: 显示数据表的详细索引信息,包括PRIMARY KEY(主键)
- SHOW TABLE STATUS LIKE 数据表\G: 该命令将输出MySQL数据库管理系统的性能及统计信息。
SHOW TABLE STATUS FROM mysql; # 显示数据库 mysql 中所有表的信息 SHOW TABLE STATUS from mysql LIKE 'user%'; # 表名以W3Cschool开头的表的信息 SHOW TABLE STATUS from mysql LIKE 'user%'\G; # 加上 \G,查询结果按列打印