搭建
使用docker搭建
手动下载镜像 docker pull mysql:8.0 启动镜像
只映射端口,不挂载目录,启动(后续需要进入容器内修改配置,删除容器后配置无法保留,数据无法保留) #-p 本地端口:容器内端口
#--name 指定容器name,后续通过name操作
# -e MYSQL_ROOT_PASSWORD 设置root密码
# 可以使用命令查看运行日志 docker logs mysql 观察是否正常启动
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
映射端口,挂载目录,启动 # -v 本地目录:容器内目录
# 挂载的目录必须存在
# 容器内/etc/mysql为mysql配置目录,需要存在配置文件,否则启动后运行失败,可以先按照第一种方法启动一次镜像
# 然后使用copy出默认配置文件 docker cp mysql:/etc/mysql /home/xubao/docker/data/mysql/conf 这里copy出的是整个mysql目录,需要将目录里的所有文件放入conf中
# 停止并删除原来镜像 docker stop mysql && docker rm mysql
# 最后使用一下命令启动
docker run -p 3306:3306 --name mysql \
-v /home/xubao/docker/data/mysql/conf:/etc/mysql \
-v /home/xubao/docker/data/mysql/logs:/var/log/mysql \
-v /home/xubao/docker/data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0
登陆mysql 因为映射了本地3306端口,可以直接本地连接mysql -uroot -proot ,本地没有客户端可以进入容器,使用容器内客户端
docker exec -it mysql bash
修改用户信息
修改root密码
alter user 'root' @'% ' identified with mysql_native_password by ' 123456 ';
alter user ' root'@' localhost' identified with mysql_native_password by ' 123456 ';