一,数据库的用户授权
mysql数据库的root用户账号拥有对所有库,表的全部权限,频繁使用root用户会给数据库服务器带来一定的安全风险。实际工作中,通常会建立一些低权限的用户,只负责一部分库,表的管理的维护操作,甚至可以对查询,修改,删除记录等各种操作做进一步的细化限制,从而降低数据库风险。
GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户,否则,GRANT语句用于修改用户信息。格式如下:
GRANT 权限列表 ON 库名.表名? TO?
用户名@来源地址? [ IDENTIFIED BY '密码' ]
BY:用于设置用户连接数据库时苏使用的密码字符串。在新建用户时,若省略该部分,则用户密码为空。
GRANT语句:专门用来查看数据库用户的授权信息,通过FOR子句可指定查看的用户对象(必须与授权时使用的对象名称一致),格式如下:
SHOW? GRANTS?
FOR? 用户名@来源地址
REVOKE语句:用于撤销指定用户的数据库权限,撤销权限后的用户仍然可以连接到mysql服务器,但被禁止执行对应的数据库操作。格式如下:
ON? 数据库名.表名?
FROM? 用户名@来源地址
mysql数据库的备份可以采用多种方式。例如,直接打包数据库文件夹/usr/local/mysql/data,或者使用专门的导出工具。下面以mysql自带的倾倒工具mysqldump为例,分别介绍数据库的备份与恢复的操作方法。
将制定的库,表或全部的库导出为SQL脚本,便于该命令在不同版本的mysql服务器上使用。例如,当需要升级MySQL服务器时,可以先用mysqldump命令将原有库信息导出,然后直接在升级后的MySQL服务器中导入即可。
使用mysqldump命令导出数据时,默认会直接在终端显示,若要保存到文件,还需要结合shell的“>”重定向输出操作。格式如下:
格式1:导出指定库中的部分表
库名? [表名1]?
[表名2]? .....?
?>?
?/备份路径/备份文件名
?[选项]? ?
?--database?
库名1? [库名2]?
?......? ?
>? ? /备份路径/备份文件名
?[选项]?
?--all-database?
?>? /备份路径/备份文件名
通过mysqldump工具导出的SQL脚本是文本文件,其中“”部分或以“--”开投票的行表示注释信息。使用grep,less,cat等文本工具可以查看脚本内容。例如:执行以下操作可以过滤出auth.sql(mysql数据库的本备份文件名)脚本中的数据库操作语句。
"^--"? auth.sql?
|? grep? -v?
"^/"? | grep?
-v? "^$"
[库名]? [表名]?
<? /备份路径/备份文件名