MySQL数据库管理
Posted 冬色
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库管理相关的知识,希望对你有一定的参考价值。
mysql权限管理
- 权限管理信息被存储在
user
,db
,host
,table_priv
,column_priv
,procs_priv
的表中 - 通过
CREATE
,DROP
权限可以新建数据库/表,删除数据库/表 SELECT
,INSERT
,UPDATE
,DELETE
对现存的表进行增删改查INDEX
允许对现存的表进行建立和删除索引
MySQL账户管理
- 使用
GRANT
语句
e.g.:GRANT ALL PRIVILEGES ON *.* TO ‘monkey‘@‘localhost‘ IDENTIFIED BY ‘some_password‘ WITH GRANT OPTION;
GRANT RELOAD,PROCESS ON *.* TO ‘admin‘@‘localhost‘;
GRANT
命令解释:PRIVILEGES
表示任何权限,后面也可以是SELECT
/UPDATE
;ON
表示影响哪些表,前面的表示数据库,后面的表示表;TO
表示授权给何用户,前面的为用户名,后面的可以填IP,IP段,主机名或者%(表示任意);之后是可选的指定用户的密码 - 直接操作MySQL的授权表(user) 注意,插入之前可以查看表结构然后一次插入(
DESCRIBE
);插入时在密码字段要记得用PASSWORD(<密码>)
进行加密,否则插入失败;插入完成之后使用FLUSH PRIVILEGES
刷新,否则授权表的改动只有重启服务器才会被发现
移除用户
DROP USER
限制用户账户资源
- 可以限制用户以下资源:1.每小时发出的查询数;2.每小时发出的更新数;3.每小时可以连接的服务器次数
- 使用
GRANT
语句实现资源限制:实际上就是在上述的账户管理中的GRANT
语句后面加上WITH
子句即可,e.g.:GRANT ALL ON customer TO ‘admin‘@‘localhost‘ IDENTIFIED BY ‘some_password‘ WITH MAX_QUERIES_PER_HOUR 20 MAX_UPDATE_PER_HOUR 15 MAX_CONNECTIONS_PER_HOUR 20 MAX_USER_CONNECTION 10;
修改用户密码
- 为现有用户添加密码:
mysqladmin -u root -h hostname password ‘new password‘;
- 修改密码:
SET PASSWORD FOR ‘user‘@‘localhost‘ = PASSWORD(‘new password‘);
数据库备份和恢复
mysqldump
/source
以上是关于MySQL数据库管理的主要内容,如果未能解决你的问题,请参考以下文章