数据库管理
--删除数据库 drop database if exits bookDB; --创建数据库 create database bookDB; --修改数据库 alter database bookDB charset=utf8;
用户管理:
-- 查看用户 select current_user(), user(); select * from mysql.user; --创建用户 -- 特别需要注意,在 MySQL 中,账号由两部分组成: -- 1. user -- 2. host -- 即使 user 相同,只要 host 不同,也会被认为是不同账号。 -- 这样可以非常方便对来自不同 ip 地址的访问进行精细的权限控制。 -- 默认情况下,创建的用户 host 为 '%',这是一个匹配符,跟模糊查询里的意思一样,表示匹配所有 create user user_name identified by '密码'; -- 所有连接 create user user_name@'127.0.0.1' identified by '密码'; -- 本地连接 create user user_name@'192.168.%' identified by '密码'; -- 192.168 网段的连接 --修改用户密码 set password for '用户名'@'服务地址' = password('新密码'); --删除用户 drop user user_name; -- 增加用户 insert into mysql.user(host, user, password) values (xx, yy, zz); -- 修改密码 update mysql.user set password=password('新密码') where user='user_name' and host='%'; -- 修改权限 update mysql.user set event_priv='Y' where user='user_name' and host='%'; -- 注意,使用 sql 语句修改用户跟权限之后,需要手动刷新权限表 flush privileges;
权限管理
--授予权限 grant all on *.* to user_name@'127.0.0.1'; -- 将所有数据库上的所有权利都授予通过本机连接的用户! grant all privileges on database_name.* to user_name@'%'; -- 将数据库 上的所有权利都授予所有连接的 用户! grant select on database_name.table_name to user_name@'%'; -- 将数据库上的 表数据表的访问权限开放给所有用户。 --查看用户权限 show grants for user_name@'%'; -- 授权的相对完整语法为: grant all/alter/create/drop/select/update/delete on *.* -- db.*/db.table to 'user'@'host' identified by '密码' with max_user_connections 2 max_connections_pser_hour 5;