LNMP数据库迁移实操指南
一、迁移方案与准备
二、标准步骤(同构迁移:MySQL/MariaDB)
mysqldump -u root -p --all-databases --routines --triggers --events --single-transaction --hex-blob --set-gtid-purged=OFF > backup.sqlmysqldump -u root -p --databases your_db --single-transaction --hex-blob > your_db.sqlmysqldump ... | gzip > backup.sql.gz。scp backup.sql.gz db01:/root/。mysql -u root -pCREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;mysql -u root -p your_db < backup.sqlgunzip < backup.sql.gz | mysql -u root -p your_dbGRANT ALL ON your_db.* TO 'app_user'@'WEB_IP' IDENTIFIED BY 'StrongPass!'; FLUSH PRIVILEGES;define('DB_NAME','your_db'); define('DB_USER','app_user'); define('DB_PASSWORD','StrongPass!'); define('DB_HOST','db01_ip_or_host');systemctl restart nginx php-fpm(如有需要)三、跨服务器迁移与架构拆分要点
四、异构迁移与常见问题处理
pgloader mysql://root@localhost/your_db postgresql://postgres@localhost/your_db--default-character-set=utf8mb4。五、一键命令清单(可直接复用)
mysqldump -u root -p --databases your_db --single-transaction --hex-blob | gzip > your_db.sql.gzscp your_db.sql.gz db01:/root/mysql -u root -p -e "CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"gunzip < /root/your_db.sql.gz | mysql -u root -p your_dbmysql -u root -p -e "GRANT ALL ON your_db.* TO 'app'@'192.168.1.%' IDENTIFIED BY 'Passw0rd!'; FLUSH PRIVILEGES;"sed -i "s/define('DB_HOST', '.*');/define('DB_HOST', 'db01_ip');/" /usr/local/nginx/html/wp-config.phpsystemctl restart nginx php-fpm