MySQL8.4備份恢復快速命令

济南小老虎發表於2024-05-10

MySQL8.4備份恢復快速命令


下載

注意, 這邊使用 MySQL8.4 進行安裝與驗證

下載的話 也是 :
wget 
https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar

需要說明  銀河麒麟 使用 rhel8 的版本就可以了. 
對應架構正確就可以

還需要說明  rpm 已經有了一層 tar 壓縮了. 
我這邊驗證. 重新使用 tar.gz 打包, 檔案從 960MB 到了 956MB
建議直接tar就可以了. 

安裝

清理 mariadb
rpm -qa |grep maria |grep -v connect |xargs rpm -e -f
本地安裝
tar -xvf mysql-8.4.0-1.el8.aarch64.rpm-bundle.tar
yum localinstall *.rpm -y

資料庫初始化

[mysqld]
datadir=/mysql/data
max_allowed_packet = 1G
innodb_log_file_size = 512M
innodb_log_buffer_size = 512M
innodb_file_per_table = 1
innodb_buffer_pool_size=8G
innodb_flush_log_at_trx_commit=0
max_connections=2000
lower-case-table-names=1
innodb_strict_mode = 0
character_set_server=utf8
secure_file_priv = 
default-time-zone='+08:00'
binlog_expire_logs_seconds = 7200
transaction-isolation = READ-COMMITTED
mysql_native_password=on
[mysql]
prompt="\\u@\\h : \\d \\r:\\m:\\s>"
default-character-set=utf8

初始化命令

mkdir -p /mysql/data
chown mysql:mysql /mysql/data -R
mysqld --initialize-insecure

修改密碼:
chown mysql:mysql /mysql/ -R
systemctl restart mysqld

mysql -uroot  -h127.0.0.1

建立使用者和修改密碼:
create user root@'%' identified by 'Testxxxxxxxx';
alter user root@localhost identified by 'Testxxxxxxxx';
flush privileges ;

檢視使用者以及密碼驗證資訊
select user,host,plugin from mysql.user ;

備份命令

建立資料庫
mysql -uroot -pTestxxxxxxxx -A
create database myapp2309MYSQL ;
create user myapp2309MYSQL@'%'  identified by 'Testxxxxxxxx';
grant all on myapp2309MYSQL.* to myapp2309MYSQL ; 
flush privileges ;
備份: 
mysqldump -uroot -p'Test1127?!' -h127.0.0.1 -P3306 --single-transaction --databases myapp2309MYSQL   | gzip > /dbback/myapp2309MYSQL.tar.gz
恢復: 
nohup gunzip <  myapp2309MYSQL.tar.gz  |   mysql -h127.0.0.1 -uroot -P3306   -Dmyapp2309MYSQL -p'Testxxxxxxxx'  --force   -s -N -f  &

恢復速度還是比較快的:
20min 一萬個左右的表 資料檔案大約 6GB 左右. 

相關文章