docker中安装Mysql:
docker pull mysql:8.0.20
查看本地镜像:
docker images
第二步 启动镜像
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
查看是否启动成功
docker ps -a
第三步 启动成功后,进入容器内部拷贝配置文件,到宿主主机。
docker cp mysql:/etc/mysql /mnt/sda1/mysql8.0.20
第四步 删除mysql容器,重新创建容器
先停止容器;再删除容器
docker stop mysql;
第五步 启动mysql ,挂载配置文件,数据持久化到宿主主机
在系统目录下创建脚本文件**mysql8.0.20.sh**
#!/bin/sh docker run \ -p 3306:3306 \ --name mysql \ --privileged=true \ --restart unless-stopped \ -v /cattsoft/apps/mysql/mysql8.0.20/mysql:/cattsoft/apps/mysql/mysql-conf \ -v /cattsoft/apps/mysql/mysql8.0.20/logs:/cattsoft/logs/mysql-log \ -v /cattsoft/apps/mysql/mysql8.0.20/data:/cattsoft/data/mysql-data \ -v /etc/localtime:/etc/localtime \ -e MYSQL_ROOT_PASSWORD=cattsoft201 \ -d mysql:8.0.20
第六步,执行脚本 启动镜像
启动脚本 文件名为mysql8.0.20.sh
sh mysql8.0.20.sh
docker ps -a 查看是否启动成功
docker logs id;查看失败或成功的日志
连接mysql时报错解决方式
解决方法
1. 首先进入 mysql mysql -uroot -p 2. 选择数据库 use mysql; 3. 更改密码加密方式,如果是远程连接,这里的 localhost 修改成为 % ALTER USER 'root'@'localhost/%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 4. 更新用户密码 ALTER USER 'root'@'localhost/%' IDENTIFIED WITH mysql_native_password BY 'password'; 5. 刷新权限 FLUSH PRIVILEGES;
测试使用navcat连接数据库