docker学习3--安装mysql环境

docker安装mysql环境

1、拉取mysql镜像
先拉取mysql的镜像,可以在docker的镜像仓库找到不同的TAG标签的版本链接
在这里插入图片描述
我选择的是5.7docker pull mysql:5.7
在这里插入图片描述
2、配置mysql
创建mysql目录,用于存放mysql相关配置及数据。
在这里插入图片描述
3、运行mysql容器

docker run -p 3309:3306 --name test_mysql -v /home/hlp/mysql/conf:/etc/mysql/conf.d -v /home/hlp/mysql/logs:/logs -v /home/hlp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

在这里插入图片描述
如果执行完后,报错:WARNING: IPv4 forwarding is disabled. Networking will not work.

  • 在/etc/sysctl.conf文件vi /etc/sysctl.conf末尾添加“net.ipv4.ip_forward=1”
  • 重启network服务systemctl restart network
  • 查看正在运行的容器docker ps
  • 停止正在运行的容器docker stop CONTAINER ID,CONTAINER ID是容器ID
  • 删除错误的容器docker rm CONTAINER ID
  • 重新运行刚刚的mysql容器
    在这里插入图片描述
    命令说明:
  • -p 3309:3306 将容器的3306端口映射到主机的3309端口
  • –name 重命名
  • -v /home/hlp/mysql/conf:/etc/mysql/conf.d 将主机/home/hlp/mysql/conf挂载到容器的/etc/mysql/conf(宿主机目录是自己随意创建的,而容器目录是固定的)
  • -v /home/hlp/mysql/logs:/logs 将主机/home/hlp/mysql/logs挂载到容器/logs
  • -v /home/hlp/mysql/data:/var/lib/mysql 将主机/home/hlp/mysql/data挂载到容器/var/lib/mysql
  • -e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码
  • -d 挂后台运行
    启动完成后,查看运行状态docker ps
    查看/home/hlp/mysql/data目录下会看到有数据
    在这里插入图片描述
    4、进入容器
    输入docker exec -i -t test_mysql bash进入容器bash,接着输入mysql -uroot -p再输入root用户密码123456进入mysql
    在这里插入图片描述

进入到mysql命令行就可以用sql语句操作了。退出mysql命令行输入exit,退出容器也是用exit
5、使用Navicat工具连接mysql
如果连接信息都填写正确,但提示1045,则需要进入mysql查看一下远程连接权限
在这里插入图片描述
在mysql命令行输入select host,user from user;查看host下面有没有%,我的表中已经有%数据行,如果没有就需要添加
在这里插入图片描述
1.进行授权:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;允许root用户使用password从任何主机连接到mysql服务器。
2.然后需要执行FLUSH PRIVILEGES;刷新刚刚的授权设置
3.最后退出mysql命令行和mysql容器,重启mysql容器,再次连接就成功了。

一个镜像文件如何启动多个容器

只需要将映射的端口和名称修改即可。如启动两个mysql容器
在这里插入图片描述

发布了28 篇原创文章 · 获赞 0 · 访问量 373

猜你喜欢

转载自blog.csdn.net/qq_42098424/article/details/105143609