安装MySQL8.0
第一步我们先把MySQL8.0的镜像拉一下(建议在网络好的情况下 下拉镜像)
之后我们在创造一个容器
conf目录
必须提前上传my.cnf文件到/data/conf目录 并且它与window中的配置文件my.ini后缀名是不一样
data目录
数据保存到宿主机中,下次需要的时候重启容器,原有数据都能被加载,不会丢失数据
参数说明:
-p 3306:3306:宿主机端口:容器端口
-name mysql:容器名字
-v:挂载宿主机的一个目录, 持久化存储的关键所在,将主机目录挂载到容器对应目录,分别是:配置文件、日志文件、数据文件
-v /data/mysql/conf:/etc/mysql/conf.d
-v /data/mysql/logs:/logs
-v /data/mysql/data:/var/lib/mysq
--privileged=true:使用该参数,container内的root拥有真正的root权限,
否则,container内的root只是外部的一个普通用户权限
--restart=always:容器自动启动参数,其值可以为[no,on-failure,always]
no为默认值,表示容器退出时,docker不自动重启容器
on-failure表示,若容器的退出状态非0,则docker自动重启容器,
可以指定重启次数,若超过指定次数未能启动容器则放弃
always表示,只要容器退出,则docker将自动重启容器
-e MYSQL_ROOT_PASSWORD=123456:设置root的密码
-d mysql/mysql-server:5.7:后台启动模式及使用的镜像
、
化数据库nacos
附录一:linux中使用命令导入导出数据
1.导出数据库
1.导出数据和表结构:
mysqldump -u 用户名 -p 密码 数据库名 > 数据库名.sql
mysqldump -u root -p dbname > dbname .sql
敲回车后会提示输入密码
2.只导出表结构
mysqldump -u 用户名 -p 密码 -d 数据库名 > 数据库名.sql
mysqldump -u root -p -d dbname > dbname .sql
敲回车后会提示输入密码
2.导入数据库
1.首先建空数据库
mysql>create database dbname ;
2.导入数据库
方法一:
1.选择数据库
mysql>use dbname ;
2.设置数据库编码
mysql>set names utf8;
3.导入数据(注意sql文件的路径)
mysql>source /home/xxxx/dbname .sql;
方法二:
mysql -u 用户名 -p密码 数据库名 < 数据库名.sql
附录二:修改mysql允许远程连接
#通过这个命令进入容器内
docker exec -it mysql5.7 bash
#连接mysql
mysql -u root -p
远程连接MySQL
#修改mysql允许远程连接
GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION
FLUSH PRIVILEGES
如果远程连接不成功看看是否打开防火墙
systemctk status firewalld