数据库的用户授权:

MySQL数据库的root用户账号拥有对所有库,表的全部权限,频繁使用root账号会给数据库带来一定的安全风险,所以实际工作中,应建一些低权限的用户进行管理数据库的工作。

1.授予权限

grant:专门用来设置数据库用户的访问权限,当指定用户不存在时,会自动创建。

mysql>grant 权限列表 on 库名.表名 to '用户名'@'来源地址' [ identified by '密码' ];

权限列表:以逗号分隔。例如:selectinsertupdate.all表示所有权限

库名.表名:可以使用通配符"*"。例如:mysql.* 表示mysql库里所有的表

用户名@来源地址:来源地址可以是域名或IP,还可以使用"%"通配符,表示某个区域或网段内的所有地址。如:"%.abc.com","192.168.1.%"等

identified by:密码可以为空

2.查看权限

mysql>show grants for ‘用户名’@‘来源地址’;

3.撤销权限

mysql>revoke 权限列表 on 库名.表名 from ‘用户名’@‘来源地址’;


数据库的备份与恢复:

1.备份数据库

格式1:导出指定库中的部分表

[root@server ~]#mysqldump [选项] 库名 [表名1] [表名2] ... > /备份路径/备份文件名

格式2:导出一个或多个完整的库

[root@server ~]#mysqldump [选项] --databases 库名1 [库名2] ... > /备份路径/备份文件名

格式3:导出所有库

[root@server ~]#mysqldump [选项] --all-databases > /备份路径/备份文件名

注:常用选项有"-u","-p".

当导出的数据量较大时,可以添加"--opt"选项以优化执行速度。

通过mysqldump工具导出的SQL脚本是文本文件,其中"/*...*/"部分或以"--"开头的行表示注释信息。

2.恢复数据库

使用mysqldump命令导出的SQL备份脚本,恢复时可以使用mysql命令进行导入。

[root@server ~]#mysql [选项] [库名] [表名] < /备份路径/备份文件名

注:如果备份脚本只包含表的备份,则导入表时,必须指定库名,且目标库必须存在。

若备份文件包含完整库信息,则导入时不需要指定库名。