MySQL数据库维护比较


维护MySQL数据库

1.数据库的用户授权
grant 权限列表 on 库名.表名 to 用户名@来源地址 [ identified by '密码' ];
权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔。如:“select,insert,update”.
    使用all表示所有权限,可授权执行任何操作。
库名.表名:用于指定授权操作的库和表名称,妻子可以使用通配符“*”、表示所有。
用户@来源地址:用于指定用户名和允许访问的客户机地址,
        即谁能连接、能从哪里连接。
        来源地址可以是域名、ip、还可以使用“%”表示摸个区域或网段的所有地址如:
        “%.bkjia.com”,"192.168.1.%".
IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略则密码为空。
注意:使用grant语句授权的用户记录,
    会保存到mysql库的user、db、tables_priv等相关表中,
    无需刷新即可生效。
grant select on auth.* to 'wwu'@'localhost' identified by '123123';
验证:
mysql -u wwu -p123123
select * from auth.users;
select * from mysql.user;
create database linuxfan;  ##为远程的网站服务器设置数据库并给权限
grant all on linuxfan.* to 'dbuser'@'192.168.1.95' identified by '123123';
show grants for 用户名@来源地址;  ##查看权限
show grants for 'dbuser'@'192.168.1.95';
revoke 权限列表 on 数据库名.表名 from 用户名@来源地址
revoke all on auth.* from 'wwu'@'localhost';
show grants for 'wwu'@'localhost';

2.数据库的备份与恢复
备份数据库
mysqldump 【选项】 库名 [表名1] [表名2] ... >/备份路径/备份文件名  ##导出指定库中的部分表
mysqldump [选项] --database 库名1 [库名2] ... >/备份路径/备份文件名  ##导出一个或多个完整的库
mysqldump [选项] --all-databases  >/备份路径/备份文件名  ##备份整个mysql的库
mysqldump -uroot -p123123 mysql user >mysql-user.sql
mysqldump -uroot -p123123 --database auth >auth.sql
mysqldump -uroot -p123123 --opt --all-databases >all-data.sql
grep -v "^--" auth.sql |grep -v "^/" |grep -v "^$"  ##查看备份文件内容
注:通过mysqldump工具导出的sql脚本文件为文本文件,其中“/*...*/”或“--”开头的为注释信息。
恢复数据库
mysql [选项] [库名 [表名] < /备份路径/备份文件名
##当备份文件中只包含表的备份,而不包含创建库的语句时,
##则导入操作时必须指定库名,并且库必须存在。
mysql -uroot -p123123 test <mysql-user.sql 
###若备份文件中已经包括完整的库信息,则执行导入操作时无需指定库名。
cd /usr/local/mysql/var/ 
mv linuxfan auth /tmp/  ##转移部分数据库、模拟故障
mysql -uroot -p123123 < ~/all-data.sql  ###执行恢复操作
ls linuxfan auth  ##确认结果

相关内容