mysql 授权用户 主从和备份
1.授权用户
mysql -uroot -p123qqq...A 进入数据库
grant all on *.* to dc@"%" identified by "123aaa...A" with grant option;
all 所有权限 *.* 所有库所有表 dc 用户名 ”%“任何机台都可用dc用户进入mysql 123qqq...A 密码 with grant option 有授权权限
2.mysql主从结构
(1)配置主服务器启用binlog日志指定server_id
vim /etc/my.cnf
[mysqld]
server_id=51 //server_id
log-bin=master51 //日志名 日志会放在 /var/lib/mysql/ 下
进入mysql用户授权
grant replication slave on *.* to repluser@"%" identified by "123qqq...A";
查看binlog日志信息
show master status;
systemctl restart mysqld 重启mysql
(2)配置从服务器
指定server_id
vim /etc/my.cnf
[mysqld]
server_id=52 //server_id值
:wq
systemctl restart mysqld //重启服务
进入msql指定主服务器信息
mysql> change master to //指定主服务器
-> master_host=“192.168.4.51”, //主服务器ip地址
-> master_user=“repluser”, //主服务器授权用户
-> master_password=“123qqq…A”, //主服务器授权用户密码
-> master_log_file=“master51-bin.000001”,//主服务器日志文件
-> master_log_pos=441; //主服务器日志偏移量
start slave 开启从服务
show slave status\G; //查看状态信息
3.数据备份与恢复
备份时库名的表示方法
--all-databases或-A 所有库
-数据库名 单个库
-库名 表名 单个表
-B 库名1 库名2 多个库
mysqldump命令
mysqldump -u root -p --all-databases > /root/alldb.sql 将所有的库备份为mysql-all.sql文件
file /root/alldb.sql //确认备份文件类型
mysql -u root -p userdb2 < /root/alldb.sql 恢复数据库
innobackupex备份与恢复
--redo-only 日志合并
--apply-log 准备恢复数据
--copy-back 拷贝数据
--incremental 增量备份
--incremental-basedir 增量备份时指定上一次备份数据存储的目录名
--incremental-dir 准备恢复数据时指定增量备份数据存储的目录名
--export 导出表信息
import 导入表空间
--host 主机名
--user 用户名
--port 端口号
--password 密码
--databases 数据库名
--no-timestamp 不用日期命名备份文件存储的子目录名
命令格式
增量备份
innobackupex --user 用户名 --password 密码 -incremental 增量目录 --incremental-basedir=目录名 --no-timestamp
增量恢复
innobackupex --apply-log --redo-only 目录名 --incremental-dir=目录名
安装XtraBackup软件包
yum -y install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
innobackupex --user root --password 123456 /allbak --no-timestamp 备份所有数据到/allbak目录下