1. 编辑 /etc/mysql/mysql.conf.d/mysqld.cnf,确保:
[mysqld] lower_case_table_names = 1 datadir = /data/mysql
2. 清空并重新初始化目标目录(因为要物理覆盖,必须保证目录结构干净且参数匹配):
# 停止服务 sudo systemctl stop mysql # 清空目录 sudo rm -rf /data/mysql/* # 重新初始化,生成系统表空间 sudo mysqld --initialize-insecure --user=mysql --datadir=/data/mysql --lower-case-table-names=1 # 权限分配 sudo chown -R mysql:mysql /data/mysql
(注:--initialize-insecure 会生成空的数据目录,没有 root 密码,稍后我们会直接用 Windows 的文件覆盖它)
3. 在 Ubuntu (目标机) 上执行监听命令:
# 确保 /data/mysql 存在且权限正确 sudo mkdir -p /data/mysql # 停止 mysql 服务,防止干扰 sudo systemctl stop mysql # 执行监听接收 (使用 nc + gzip + tar) # 解释:监听 9999 端口 -> 解压 gzip -> 解包 tar -> 释放到 /data/mysql # 需要安装: sudo apt install netcat-openbsd sudo nc -l -p 9999 | gzip -d | sudo tar -xf - -C /data/mysql
本文为宁若水!原创文章,转载无需和我联系,但请注明来自[若水]博客 www.lalaya.net
