看老杜的视频学mysql,在导入bjpowernode.sql时,因为在docker上下的mysql容器,不知道怎么使用source命令,提问过后才知道要把宿主机的目录挂载到mysql里面,弄了半天,还把mysql里面一些配置文件给覆盖掉,导致mysql无法正常运行,只好恢复快照,从头来过。
在其他博客中,看到有挂载配置文件的,这里只挂载数据目录
简单挂载的过程:
1.先在宿主机的一个目录下创建一个文件夹,叫啥都行,我在 /home/ctf 目录下创建了mysql文件夹
2.到刚刚宿主机的目录下查看是否挂载成功
3.运行mysql 第一个代码和第二个代码一样,第二个用来解释
docker run --name mysql -v /home/ctf/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
docker run --name mysql #--name 取别名
-v /home/ctf/mysql:/var/lib/mysql #-v 挂载命令 -v 宿主机目录路径:mysql里对应的路径
-p 3306:3306 #端口映射
-e MYSQL_ROOT_PASSWORD=123456 -d mysql
–v 宿主机目录路径:mysql里对应的路径,这里mysql里对应的路径要看看网上的放置数据的路径,或者编个不可能有的路径出来,在步骤二里你可以看到目录结构,千万别和里面的结构重复,这样会覆盖掉mysql里面原来的文件的,到时候就gg了。当然,你是大佬,当我没说。
4.然后开启mysql,创建对应的数据库(bjpowernode),在使用数据库(bjpowernode),最后导入即可
#开启
create databases bjpowernode;
use bjpowernode;
source /var/lib/mysql/bjpowernode.sql
这里解释一下第三步,路径 /var/lib/mysql/ 是步骤三中挂载命令中挂载mysql的目录的路径,然后我在宿主机的 /home/ctf/mysql 目录下放了bjpowernode.sql文件,文件就可以在 /var/lib/mysql/ 目录下找到,并使用。
最后查看一下目录映射
docker inspect container_name | grep Mounts -A 20