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 左右.