查询用户授权 Select host,user from mysql.user
查看用户授权权限 Show grants from 用户@’地址’;
授权用户链接后修改密码: Set password = password(“新密码”);
管理员重置授权用户连接密码 Set password for 用户名@’客户端地址’=passwd(‘新密码’);
撤销用户权限 Revoke 权限列表 on 数据库名from 用户名@”客户端地址”;
删除授权用户 Drop user 用户名@”客户端地址”;
物理备份 cp -r /var/lib/mysql /mybak/mysql.bak 打包压缩 Tar -zcvf /mybak/mysql.tar.gz /var/lib/mysql/* 新服务器 安包,停服务,解压缩覆盖/var/lib/mysql
逻辑备份: Mysqldump -u用户 -p密码 库名 > 路径/xxx.sql 逻辑恢复: Musql -u用户 -p密码 库名 < 路径/xxx.sql
库名表达方式 –all-databases 或 -A 所有库 数据库名 单个库 数据库名 表名 单张表 -B 数据库1 数据库2 单个库
Mysql -u用户 -p密码 库名 < /路径/备份的库.sql
增量日志备份: 启动自定义binlog日志: Vim /etc/my.cnf [mysqld] Server_id=日志id Log-bin=日志存放目录
创建目录并重启mysqld Mysql50-bin.0000001是日志文件 Mysql50-bin.index是索引文件
手动创建binlog日志 1.重启mysqld 2.mysql -uroot -p123456 -e --flush-logs Mysql> flush logs;刷新日志
删除日志: Mysql> show master status; 查看日志信息 Mysql> purge master logs to “日志”; 删除日志 Mysql> reset master; 重启日志
查看日志 Mysqlbinlog [选项] binlog日志文件名
选项: –start-datetime=”yyyy-mm-dd hh:mm:ss” –stop-datetime=”yyyy-mm-dd hh:mm:ss” –start-position=偏移量 –stop-position=偏移量
查询日志记录的格式 Mysql>show variables like “binlog_format”; Statement:记录每条数据 Row只记录修改的数据 Mixed:混合使用
在/etc/my.conf下修改 Binlog_format=mixed
重启mysqld
恢复 日志恢复中最后一条命令必须要有commit Mysqlbilog --start-position=起始偏移量 --stop-position=要恢复到的偏移量 /日志文件 | mysql -uroot -p密码
优点不锁表 安装软件包 Libev、percona-xtrabackup
完全备份 Innobackupex --user 用户 --password 密码 /备份到的路径 不用时间戳来当备份的目录,由自己指定目录名 Innobackupex --user 用户 --password 密码 /备份的目录 --no-timestamp
备份恢复 1.关闭mysql 2.删除 /var/lib/mysql/ 3.准备恢复数据 Innobackupex --apply-log /备份目录
备份目录下的xtrabackup_checkpoints Backup_type属性 Full-backuped 完全备份 Full-prepared 准备恢复状态 Incremental 增量备份状态 To_lsn 备份到的数据编号 Last_lsn 下个个数据的编号
4.Innobackupex --copy-back /备份目录 5.修改mysql目录属主属组改为mysql
增量备份: 1.先完全备份 Innobackupex --user root --password 密码 /备份目录 --notimestamp 2.第1次增量备份 Innobackupex --user root --password 密码 --incremental /备份到的目录 --incrementtal-basedir=/完全备份的目录 --no-timestamp 3.第2次增量备份 Innobackupex --user root --password 密码 --incremental /备份到的目录 --incrementtal-basedir=/上一次备份的目录 --no-timestamp
增量恢复: 1.停mysql服务 2.删/var/lib/mysql 3.合并增量备份的日志 Innobackupex --apply-log --redo-only /首次备份的目录 Innobackupex --apply-log --redo-only --incremental-dir=/第1次增量备份的目录 /首次恢复的目录 Innobackupex --apply-log --redo-only --incremental-dir=/第2次增量备份的目录 /首次恢复的目录 4.拷贝至数据库 Innobackupex --copy-back /合并后的目录 5.修改/var/lib/mysql的属主属组为mysql 6.启动服务
增量备份单个库只恢复其中一个表 1.备份 Innobackupex --user 用户名 --password 密码 --databases=”库名” /备份的目录 --no-timestamp 2.恢复一个表