docker安装MySQL

这篇具有很好参考价值的文章主要介绍了docker安装MySQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注意:

使用docker安装mysql需要注意的是一定要挂载数据卷,通常情况下,并不建议在开发或者生产等环境中使用docker安装mysql。

1、查询mysql镜像文件

 [root@localhost docker]# docker search mysql

docker安装MySQL,# docker,MySQL,docker,mysql,docker安装MySQL,MySQL安装,Linux安装MySQL

2、拉取mysql镜像文件

 [root@localhost docker]# docker pull mysql

注意:

(1)在不指定版本号的情况下,默认拉取的是最新版本的mysql,即latest,如需要下载特定版本的mysql,可以使用如下方式:

docker pull mysql:5.7 #指定下载5.7版本的mysql

docker pull mysql:8.0 #指定下载8.0版本的mysql

docker安装MySQL,# docker,MySQL,docker,mysql,docker安装MySQL,MySQL安装,Linux安装MySQL

(2)如果下载的速度比较慢,可以通过docker info指令查看当前docker镜像源地址,建议使用阿里云加速器,下载速度比较快。

3、查看镜像文件

 [root@localhost docker]# docker images

docker安装MySQL,# docker,MySQL,docker,mysql,docker安装MySQL,MySQL安装,Linux安装MySQL

通过以上指令,可以看出我们已经将mysql的镜像文件成功拉取下来,接下来就开始运行mysql容器。

4、启动mysql容器

 [root@localhost docker]# docker run --name mysql -p 13306:3306 --restart=always --privileged=true \
 -v /usr/local/mysql/log:/var/log/mysql \
 -v /usr/local/mysql/data:/var/lib/mysql \
 -v /usr/local/mysql/conf:/etc/mysql \
 -v /etc/localtime:/etc/localtime:ro \
 -e MYSQL_ROOT_PASSWORD=root 
 -d mysql:8.0
4.1、命令解释
命令 功能
--name mysql 创建的容器名称
-p 13306:3306 指定宿主机端口与容器端口映射关系
--restart=always 总是跟随docker启动
--privileged=true: 获取宿主机root权限
-v /home/usr/local/mysql/log:/var/log/mysql 映射日志目录,宿主机:容器
-v /usr/local/mysql/data:/var/lib/mysql 映射数据目录,宿主机:容器
-v /usr/local/mysql/conf:/etc/mysql 映射配置目录,宿主机:容器
-v /etc/localtime:/etc/localtime:ro

让容器的时钟与宿主机时钟同步,避免时区的问题

ro是read only的意思,就是只读

-e MYSQL_ROOT_PASSWORD=root 指定mysql的root用户的密码为root
-d mysql:latest 后台运行mysql容器,版本是8.0
4.2、可能的问题

初次执行本条命令时,mysql容器可能会启动失败,失败原因在于此时容器内部可能尚未配置mysql相关文件的存放位置,此时通过docker ps查看容器运行状态,就会发现mysql容器一直在restart状态,如下图所示。

docker安装MySQL,# docker,MySQL,docker,mysql,docker安装MySQL,MySQL安装,Linux安装MySQL

如果没有该问题,直接跳到第5步骤。

4.3、问题解决方案

此时如果容器一直在重启状态,我们就需要在宿主机映射目录下创建mysql的配置文件my.cnf,这和我们通过常规方式安装mysql的步骤是一样的。执行步骤如下:

 # 进入Linux映射的mysql目录
 [root@localhost docker]# cd /home/usr/local/mysql
 [root@localhost mysql]# ll
 total 0
 drwxr-xr-x. 2 root root 6 Aug  4 23:44 conf
 drwxr-xr-x. 2 root root 6 Aug  4 23:44 data
 drwxr-xr-x. 2 root root 6 Aug  4 23:44 log
 # 进入配置文件目录
 [root@localhost mysql]# cd conf 
 [root@localhost conf]# ll
 total 0
 # 编辑my.cnf文件
 [root@localhost conf]# vim my.cnf

my.cnf文件中内容如下:

 [client]
 default-character-set=utf8mb4
 [mysql]
 default-character-set=utf8mb4
 [mysqld]
 # 设置东八区时区
 default-time_zone = '+8:00'
 # 设置密码验证规则,default_authentication_plugin参数已被废弃
 # 修改为authentication_policy
 #default_authentication_plugin=mysql_native_password
 authentication_policy=mysql_native_password
 # 限制导入和导出的数据目录为空,不限制导入到该处的数据目录;
 # 指定目录,必须从该目录导入到处,且MySQL不会自动创建该目录;
 # 为NULL,禁止导入与导出功能
 #secure_file_priv=/var/lib/mysql
 secure_file_priv=
 init_connect='SET collation_connection = utf8mb4_general_ci'
 init_connect='SET NAMES utf8mb4'
 character-set-server=utf8mb4
 collation-server=utf8mb4_general_ci
 skip-character-set-client-handshake
 skip-name-resolve

my.cnf文件修改完成后,重启mysql容器。

4.4、重启动容
 [root@localhost docker]# docker restart mysql
4.5、查看容器运行状态
 [root@localhost docker]# docker ps​​​​​​​

5、设置mysql跟随docker自启动

# 设置mysql跟随docker自启动
[root@localhost docker]# docker update mysql --restart=always
# 重启mysql
[root@localhost docker]# docker restart mysql

6、开启远程访问授权

mysql远程访问未授权的情况下,通过外部机器去发起请求连接时,会提示连接拒绝,因为默认的root不具有远程连接的权限。

docker安装MySQL,# docker,MySQL,docker,mysql,docker安装MySQL,MySQL安装,Linux安装MySQL

此时我们需要进入到mysql容器内部,开启远程连接的权限。

6.1、进入mysql容器内部并登录

注意:

mysql -u root -p 输入完成后,此时不需要输入密码,直接回车就可以进入mysql工作台。

[root@localhost conf]# docker exec -it mysql /bin/bash
root@8dc685cb34ba:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
6.2、选择数据库mysql
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
6.3、查看用户连接情况
mysql> select host, user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)

通过查询结果,可以看出root用户只有localhost连接权限,接下来开始修改用户登录权限。

6.4、修改用户登录权限及密码认证方式
mysql> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
 
mysql> ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.02 sec)
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
6.5、Navicate客户端连接mysql

docker安装MySQL,# docker,MySQL,docker,mysql,docker安装MySQL,MySQL安装,Linux安装MySQL

至此,docker安装mysql的过程已经全部完成。文章来源地址https://www.toymoban.com/news/detail-704475.html

到了这里,关于docker安装MySQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux环境使用docker安装MySQL(简单粗暴,复制即用)

    –name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行 将以下内容复制到文本

    2024年01月17日
    浏览(40)
  • Linux aarch64架构中使用docker安装mysql8

    1、遇到问题: 官网下载mysql包,安装完成后,启动mysql一直显示-bash: ./mysqld: 无法执行二进制文件。 网上找了各种资料,但是都没有作用,怀疑自己操作姿势不正确,以为是自己包下错了(其实也是包不对),重新下载了不同的各种包,换了各种安装方法,发现仍旧启动不了

    2024年02月14日
    浏览(49)
  • Centos /Linux环境下利用Docker 安装mysql5.7镜像(含离线安装),启动mysql镜像并初始化数据库

    使用有网的服务器下载好镜像 保存下载好的镜像成tar 将镜像上传到所需服务器(放在固定位置) 导入镜像 注意名称,这里的mysql5.7和上面打包 docker save imageid mysql5.7 的名称一致,本例未改名 查看导入的镜像,并重新命名镜像 创建本地数据库目录、配置文件以及日志目录(

    2024年02月10日
    浏览(74)
  • Linux Docker安装 Docker-Compose安装 Docker安装Mysql8 Nacos OpenResty Redis Kafka ElasticSearch MinIO..

    Docker安装 Docker默认镜像源下载太慢,可以调整为国内镜像源 为了验证是否切换成功,可以使用 docker info 查看,会显示如下信息: 安装Docker-Compose,这里下载的是最新版本v2.5.0,安装流程如下: 修改密码: select NOW() 时间如果小了8小时,执行如下操作同步时区即可: 如果要安

    2024年02月02日
    浏览(45)
  • linux安装搭建配置docker,mysql,nacos,redis哨兵集群,kafka,elasticsearch,kibana,IK分词器,安装Rabbitmq,安装并配置maven

    目录 搭建docker 1.2安装yum工具  1.3更新阿里镜像源 1.4下载docker 1.5关闭防火墙 1.6启动docker 1.7查看docker版本 1.8配置阿里云镜像 1.8.1 创建文件夹 1.8.2在文件夹内新建一个daemon.json文件 1.8.3重载文件 1.9重启docker 2安装MySQL 3安装nacos 3.1拉取nacos镜像并启动 3.2启动nacos命令 3.3命令敲完

    2024年02月03日
    浏览(57)
  • Docker | docker安装MySQL

    大家好!这篇文章主要讲解 如何在Centos7中安装Docker以及Docker安装MySQL:5.7.42 。 ✨本篇文章已收录于 初心 的 大数据 专栏,欢迎大家订阅获取第一资讯✨。 🏠 个人主页:✨✨初心%个人主页✨✨ 🧑 个人简介:🎈大家好,我是初心,和大家一起,探究一些有趣的东西!🎈 💕

    2024年02月05日
    浏览(31)
  • 【Docker】Docker安装MySQL

    🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前专攻C/C++、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:C++STL、蓝桥杯,喜欢OJ的小伙伴可以看一手 🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​ ⛱️学习应使你快乐!望与诸君

    2024年02月13日
    浏览(37)
  • 【Docker】Linux Docker 中拉取 MySQL 镜像

    拉取MySQL镜像 这是下载最新的MySQL,如果想下载某个版本的MySQL用下面这个命令 启动MySQL镜像,运行容器 这里要注意的有几点: 1、第一个3306和第二个3306的区别,第一个3306是宿主机的端口号,就是占用你服务器的端口号,第二个3306是容器的端口号。 2、 Mysql:8.0 是你刚刚拉取

    2024年02月12日
    浏览(51)
  • 安装docker并在内安装mysql

    1. 停止Docker服务:        在卸载Docker之前,首先需要停止Docker服务。在终端中运行以下命令停止Docker服务: 2. 卸载Docker软件包: 接下来,你需要卸载Docker软件包。运行以下命令以卸载Docker及其依赖的软件包: sudo apt-get purge docker-ce docker-ce-cli containerd.io     或者( 我用的这

    2024年02月07日
    浏览(34)
  • Docker - Docker安装MySql并启动

    因为项目需要数据库存储数据,但是远程服务器上的mysql已经是上一波老铁安装部署的了,我不知道账户和密码,但是又需要快速部署一下mysql服务,这个时候便是docker发挥作用的关键时刻了! docker安装不是我们的重点,这里就简单带过一下,如有其他意外问题可私信或直接

    2024年02月10日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包