前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker安装Mysql

Docker安装Mysql

作者头像
itze
发布2022-10-31 16:02:53
7350
发布2022-10-31 16:02:53
举报
文章被收录于专栏:IT者

环境

  • 操作系统:CentOS 7
  • Docker版本:20.10.0

准备

提前开放好mysql需要用到的端口号,有的还需要去服务器的控制中心添加放行端口号,CentOS 7有关开放端口号的操作可以看这篇文章:CentOS 7 开启防火墙及开放指定端口

拉取镜像,默认拉取最高版本,目前应该是mysql 8

Docker常用的操作命令可以查看这篇文章:Docker常用命令[持续更新]

代码语言:javascript
复制
docker pull mysql

拉取指定版本

代码语言:javascript
复制
docker pull mysql:5.7

运行容器

代码语言:javascript
复制
docker run --restart=always -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name docker_mysql mysql

参数说明

  • run:运行
  • –restart=always:当docker重启时,该容器也会重新启动
  • -d:后台运行
  • -p:映射端口号,容器内部和服务器内部关联
  • –privileged=true:设置允许root用户登陆
  • -v /docker/mysql/conf/my.cnf:/etc/my.cnf:将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
  • -v /docker/mysql/data:/var/lib/mysql:同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
  • -e MYSQL_ROOT_PASSWORD=123456:设置root账户密码为123456
  • –name docker_mysql mysql:启动一个mysql并设置docker容器名称为docker_mysql

进入容器

代码语言:javascript
复制
docker exec -it docker_mysql(docker容器名称) bash

连接mysql

代码语言:javascript
复制
mysql -uroot -p

创建用户

创建一个test账户密码为123456,并且允许远程登陆,如果想要test账户只能安装mysql的这台机器登陆,就把’%’改成’localhost’

代码语言:javascript
复制
CREATE USER 'test'@'%' IDENTIFIED BY '123456';

授权

授予test账户所有权限

代码语言:javascript
复制
grant all on *.* to 'test'@'%';

注意

如果安装的是mysql8,需要更改加密方式才能使用Navicat工具远程连接,所有需要远程连接的账户都要更改,如果不是mysql8,比如mysql5.7是不需要的

更改加密方式
代码语言:javascript
复制
ALTER USER 'test'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
更新密码
代码语言:javascript
复制
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限
代码语言:javascript
复制
flush privileges;
退出
代码语言:javascript
复制
exit;

执行两遍,第一次退出mysql,第二次退出docker容器

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年12月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 准备
  • 拉取镜像,默认拉取最高版本,目前应该是mysql 8
  • 拉取指定版本
  • 运行容器
  • 参数说明
  • 进入容器
  • 连接mysql
  • 创建用户
  • 授权
  • 注意
    • 更改加密方式
      • 更新密码
        • 刷新权限
          • 退出
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档