一、安装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. 创建对应的数据库后导入
指定数据库导入导出首先需要导出时对应的数据库名称。