MySQL数据库
xtrabackup 备份 mysql
xtrabackup --user='' --password='' --target-dir=/home/app/dbbackup/$(date +%Y-%m-%d) --backup --rsync --ftwrl-wait-timeout=3600 --check-privileges
xtrabackup --target-dir=/home/app/dbbackup/$(date +%Y-%m-%d) --prepare
#可以先prepare之后,直接把prepare后的目录传到新mysql的数据目录下。对应mysql目录下的数据需要清空。
#从库需拷贝完后执行:
>mysql reset master;
>mysql reset slave all;
>mysql set global gtid = '';innobackupex --defaults-file=/etc/my.cnf --user=lachlan --password='Lachlan@123' /opt/dbbackup_01
全备:--target-dir=name --backup --rsync --ftwrl-wait-timeout=3600 --check-privileges
增备:--target-dir=name --backup --incremental-basedir=name --rsync --ftwrl-wait-timeout=3600 --check-privileges
全备恢复:--target-dir=name --check-privileges --prepare
增备恢复:--target-dir=fullbackup --check-privileges --prepare --apply-log-only
--target-dir=fullbackup --check-privileges --incremental-dir=incrbackup --prepare
MySQL迁移
xtrabackup --target-dir=/opt/0506 --backup --rsync --ftwrl-wait-timeout=3600 --check-privileges -u -p
xtrabackup --target-dir=/opt/0506 --check-privileges --prepare
scp -r | rsync /opt/0506mydumper 备份 mysql
#排除部分库的备份:
mydumper -u lachlan -p Lachlan@123 --regex '^(?!(sys|performance_schema|information_schema|其它需排除的库))' --verbose=3 --outputdir /opt/dbbackup_01
#导入:
myloader -h 10.4.1.1 -u lachlan -p Lachlan@123 -v 3 -o -d /opt/dbbackup_02/mysqldump排除部分库的备份
mysql -ulachlan -pLachlan@123 -N -e "show databases;" |grep -Ev "sys|performance_schema|informaition_schema|其它需排除的库" | xargs mysqldump -ulachlan -pLachlan@123 --databases > dbbackup_01.sql
mysql -ulachlan -p -h地址 <dbbackup_01.sqlMySQL启动命令
mysqld --defaults-file=/etc/my.cnf --daemonize
#或
/usr/sbin/mysqld --defaults-file=/etc/my.cnf --daemonizemysqldump搭建主从同步步骤
#主库
>mysql GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repl'@'%' IDENTIFIED BY 'Repl@123';
#导出主库SQL
mysqldump -h10.4.1.1 -P3306 -ulachlan -p --single-transaction --triggers --routines --flush-privileges --events --all-databases > dbbackup_01.sql
#从库
>mysql reset master
#主库/从库节点执行都可以,指定的ip为从库即可
nohup mysql -h10.4.1.2 -ulachlan -pLachlan@123 < dbbackup_01.sql &
#从库
>mysql change master to
master_host='10.4.1.1',
master_user='repl',
master_password='Repl@123',
master_port=3306,
master_auto_position=1;
>mysql start slave;不重启MySQL情况下从库过滤某一些表不同步(从库执行)
>mysql stop slave;
>mysql change replication filter Replicate_wild_ignore_table=(\'aaadb.aaatable\',\'bbbdb.bbbtable\',\'cccdb.ccctable\');
>mysql start slave;
#配置文件my.cnf同时也修改。MySQL审计audit日志(仅供参考方法论,各种日志和关键词以实际为准)
grep '202308.*adapter_auth' /opt/mysql-files/auditlog/server-audit.log > tmp
less tmp
mysqlbinlog -v /opt/mysql-files/relaylog/relay.000004|less
grep -v 'select * from' tmp > 1
less 1
grep 'update.*ABCD0000' 1
grep '20230824.*update.*ABCD0000' 1mysql导出部分库
mysqldump -h10.4.1.1 -P3306 -ulachlan -pLachlan@123 --single-transaction --triggers --routines --set-gtid-purged=OFF --events --databases aaadb bbbdb cccdb ddddb eeedb fffdb > "export_$(date +%Y%m%d).sql"mysql导出某个库的某些表
mysqldump -h10.4.1.1 -P3306 -ulachlan -pLachlan@123 --single-transaction --triggers --routines --set-gtid-purged=OFF --events aaadb aaatable aabtable aactable aadtable aaetable aaftable > export_01.sql