数据库之迁移常规操作(Mysql篇)

借鉴的文章 》》https://blog.csdn.net/weixin_65685029/article/details/132413482?ops_request_misc=&request_id=&biz_id=102&utm_term=mysql备份与还原&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-132413482.nonecase&spm=1018.2226.3001.4187

一、安装mysql数据库

1)拉取mysql镜像,创建容器

shell 复制代码
docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=123456 -v /docker/mysql/config/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql  -p 3307:3306 mysql:8.0.24

2)直接登录mysql容器

shell 复制代码
docker exec -it mysql-container mysql -u root -p
1.2.1. 远程登录密码修改
shell 复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345';
1.2.2. 本地密码修改

注:本地登录使用

shell 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345';
1.2.3. 执行后刷新(否则密码修改不生效)
shell 复制代码
FLUSH PRIVILEGES;

二、远程(导入、导出全库使用-A参数)数据库

注:导入导出均使用 mysqldump
注:使用-A方式导入导出,没有对全库进行导出,而只是导出了sys数据库,可以再测试

1. 导出

注:进入docker 容器,此处远程导出数据库为 all.sql文件

注:导出的sql文件由45M

2、导入数据库

shell 复制代码
mysqldump -uroot -p12345 -A < ./all.sql

四、远程(导入、导出全库(导出指定数据库))数据库

1. 导出

shell 复制代码
mysqldump -h<远程ip> -u<用户名> -p<密码> <数据库名> > 导出文件名.sql

2. 导入

注:登录mysql数据库后创建

shell 复制代码
> mysql -uroot -proot
mysql> create database <数据库名>
shell 复制代码
mysql -u<用户名> -p<密码> <数据库名> < ./导出文件名.sql

总结

1. 使用-A参数的导入没有成功

可以尝试在创建与导出数据库相同的用户和表空间后使用 mysql命令(同指定数据库导入相同的命令) 再进行导入

2. 创建对应的数据库后导入

指定数据库导入导出首先需要导出时对应的数据库名称。

3. 还有更加详细的关于导入导出表结构等内容可以参考文章开始的推荐链接查看 [》》](#3. 还有更加详细的关于导入导出表结构等内容可以参考文章开始的推荐链接查看 》》)

相关推荐
stark张宇1 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
倔强的石头_1 小时前
融合数据库架构实践:关系型、JSON与全文检索的“一库多能”深度解析
数据库
星辰员3 小时前
KingbaseES数据库:ksql 命令行用户与权限全攻略,从创建到删除
数据库
华仔啊16 小时前
千万别给数据库字段加默认值 null!真的会出问题
java·数据库·后端
Hoffer_1 天前
MySQL 强制索引:USE/FORCE INDEX 用法与避坑
后端·mysql
Hoffer_1 天前
MySQL 索引核心操作:CREATE/DROP/SHOW
后端·mysql
Sheffield2 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
随风飘的云2 天前
MySQL的慢查询优化解决思路
数据库
IvorySQL2 天前
PostgreSQL 技术日报 (3月7日)|生态更新与内核性能讨论
数据库·postgresql·开源
赵渝强老师2 天前
【赵渝强老师】金仓数据库的数据文件
数据库·国产数据库·kingbase·金仓数据库