工具迁移xtrabackup
创建云服务器——通过云服务器提供的公网地址远程连接XShell——利用迁移工具将数据库从本地迁移到云服务器
(1)创建云服务器
(2)远程连接XShell
(3)yum安装mysql
(4)安装XtraBackup
(5)安装Xftp
(6)数据库迁移
1)本地数据库——备份数据库
①本地数据库安装xtrabackup
--target-dir表示备份文件存放的目录
②备份本地数据库
③桌面作为中介接收、上传数据库
2)云服务器——恢复数据库
①将数据库文件上传到云服务器
在云服务器上恢复数据库
由于云上的MySQL是yum安装的配置文件和本地的MySQL是不一样的所以直接复制本地的配置文件覆盖阿里云上的MySQL配置文件
③覆盖配置文件
配置文件修改完成后由于两个主机MySQL库的数据目录不一致,所以需要修改云上MySQL的配置目录
④在/usr/local/目录下创建一个mysql目录在mysql目录下新建一个data目录
⑤修改mysql的属组为mysql【图中框错了,框mysql那一行】
⑤重启mysql服务
⑥同步输入命令
innobackupex --apply-log /opt/backup/2023-11-08_18-04-57
传输成功
cd /usr/local/mysql
⑦将原数据库的data目录下的所有文件移动到另一目录下
⑧恢复数据
innobackupex --copy-back /opt/backup/2023-11-08_18-04-57
--copy-back表示进行恢复操作
⑨查看/usr/local/mysql的属组【一定要是mysql属组】
chown -R mysql.mysql mysql
⑩验证数据库是否传上云服务器
结论:数据库成功上传云服务器
(7)排错思路
问题1:误删/var/lib/mysql/mysql文件,无法打开mysql
解决1:在删此文件之前备份了,恢复备份即可
问题2:恢复/var/lib/mysql/mysql文件后,无法重启mysql
解决2:此文件的属组是root,要改成mysql
问题3:无法恢复数据库。原数据库的data目录下存在之前数据库的数据文件,不是空的,无法恢复数据库
解决3:将data目录下的所有数据文件备份到另一目录下
问题4:无法查看数据库表。原因:没有权限查看表
解决4:修改属组成mysql
cd /usr/local
问题5:无法查看表内容
解决5:停止mysql服务,再开启mysql服务