mysqldump 5.7->8.0

バックアップシェルコマンド:

‘mysqldump --column-statistics=0 --set-gtid-purged=OFF ' \
              '-h{
    
    ip} -u{
    
    user} -p{
    
    passwd} {
    
    parameter} --add-drop-database --databases {
    
    database} > {
    
    backup_path}/{
    
    database}_{
    
    date}.sql’

-set-gtid-purged=off このパラメータは、gtid 機能が mysql5.6 の後に追加されたため、gtid エラーが報告されるのを防ぎます。これは、mysqldump の新しいバージョンが新しいフラグを有効にするため、この機能をオフにすることを意味します -column-statistics=
0
-R バックアップ ストアド プロシージャと関数を無効にするには、-column-statistics=0 を渡します(このパラメータを指定しないと、データベースの基本テーブルとビューのみがバックアップされます)。

データ復元:

①エラー 1231 (42000) 行 1125: 変数 'sql_mode' を 'NO_AUTO_CREATE_USER' の値に設定できません

sed -i 's/,NO_AUTO_CREATE_USER//g' ./database_2023-06-21.sql

②エラー 1418 (HY000) 行 3445: この関数の宣言には DETERMINISTIC、NO SQL、または READS SQL DATA のいずれも含まれておらず、バイナリ ログが有効になっています (安全性の低い log_bin_trust_function_creators 変数を使用することをお勧めします) 関数はバックアップ中にバックアップされまし
た、mysql8 .0 は binlog をオンにします。関数にパラメーター (log_bin_trust_function_creators) を指定する必要があります。参照元: https: //zhuanlan.zhihu.com/p/370169125

show variables like 'log_bin_trust_function_creators';
SET GLOBAL log_bin_trust_function_creators = 1;

おすすめ

転載: blog.csdn.net/keepandkeep/article/details/131328083
おすすめ