1.删除镜像、容器
docker rm [容器id] //删除容器 docker rmi [镜像id] //删除镜像
2.重新下载
安装mysql docker pull mysql:5.7
3.启动进入
启动mysql
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 docker run -p 3306:3306 --name mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 docker run -p 3308:3306 --name mysql3308 --restart=always \ -v /mydata/mysql3308/log:/var/log/mysql \ -v /mydata/mysql3308/data:/var/lib/mysql \ -v /mydata/mysql3308/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
参数解释:
- -name 容器名字
- -p 3308:3306 物理机端口:容器内部端口
- -e 运行参数 初始化 root 用户的密码
- -d 后台运行 mysq5.7 镜像名字加标签
- -v 目录挂载,-v /mydata/mysql/log:/var/log/mysql 表示将 docker里面mysql容器的/var/log/mysql目录挂载到宿主linux系统的 /mydata/mysql/log 目录下,方便查看。
设置容器自启动:
docker update --restart=always mysql
然后修改权限:
// 进入mysql容器: docker exec -it 934e3c005153 /bin/bash // 登录mysql: mysql -uroot -proot // 修改密码: ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 或者:ALTER USER 'root'@'%' IDENTIFIED BY '123456'; //授权: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; flush privileges; ---------
mysql配置文件: vim /mydata/mysql/conf/my.cnf
(解决部署在服务器上的网页由于mysql编码导致的中文乱码问题)
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_ connection = utf8_ unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve
4.数据迁移
把本地数据库迁移到服务器内部数据库
5.常用命令
1.docker images // 查看镜像 2.docker ps // 查看容器 3.docker ps -l // 查看所有容器 4.docker stop [容器id] //停止容器 5.docker start [容器id]//启动容器 6.docker restart [容器id] //重启容器 7.docker rm [容器id] //删除容器 8.docker rmi [镜像id] //删除镜像
6.出现的问题
ip权限设置
【从0开始带你手撸一套SpringBoot+Vue后台管理系统(2022年最新版)】 【精准空降到 1:14:39】
mysql授权
参考文章
http://t.csdn.cn/5LPv7
http://t.csdn.cn/JHdaw