Docker 安装MySQL 及常见问题解决

6 篇文章 0 订阅
本文档介绍了如何使用Docker拉取并启动最新版MySQL(以5.8为例),并详细阐述了如何解决sql_mode=only_full_group_by的问题,包括进入容器、登录MySQL、修改sql_mode设置等步骤,确保数据库正常运行。
摘要由CSDN通过智能技术生成
一、拉取最新mysql(如设置版本:docker pull mysql:5.8)
docker pull mysql
二、启动mysql

–name mysql - 定义容器名称
3306:3306 - 前:内部端口;后:映射端口
MYSQL_ROOT_PASSWORD - 密码
-d mysql - 镜像名称
lower_case_table_names - 设置忽略数据库大小写

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=iabswfg23@123 -d mysql --lower_case_table_names=1
三、问题解决
  • sql_mode=only_full_group_by问题解决
    1、进入容器
docker exec -it 容器ID/名称 /bin/bash

2、登录mysql、输入密码

mysql -u root -p

3、查询版本、@@sql_mode

select version(), @@sql_mode;

4、设置@@sql_mode

set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

5、查询是否成功

select version(), @@sql_mode;
在Linux下使用Docker安装MySQL有多种方法。以下是三种常见的方法: 方法一:使用docker run命令拉取并运行MySQL容器。例如,可以使用以下命令拉取并运行MySQL 5.7容器: ``` docker run -d -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD="strongpassword" docker.io/mysql:5.7 ``` 这个命令会在后台运行一个MySQL 5.7容器,并将主机的3306端口映射到容器的3306端口。同时,通过`-e MYSQL_ROOT_PASSWORD`参数设置了MySQL的root用户密码为"strongpassword"。\[1\] 方法二:使用docker run命令执行安装脚本。例如,可以使用以下命令执行安装脚本并运行MySQL 5.7容器: ``` docker run -d --privileged=true --name mysql57 -p 5508:3306 --restart=always -v /usr/local/docker/mysql/data:/var/lib/mysql -v /usr/local/docker/mysql/config/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=root mysql:5.7 ``` 这个命令会在后台运行一个MySQL 5.7容器,并将主机的5508端口映射到容器的3306端口。同时,通过`-v`参数指定了数据存储位置和配置文件位置,通过`-e MYSQL_ROOT_PASSWORD`参数设置了MySQL的root用户密码为"root"。\[2\] 方法三:使用docker pull命令拉取MySQL镜像,然后使用docker run命令创建并运行MySQL容器。例如,可以使用以下命令拉取MySQL 5.7镜像: ``` docker pull mysql:5.7 ``` 然后,可以使用以下命令创建并运行MySQL容器: ``` docker run -p 3306:3306 --name myMysql -v /usr/local/workspace/mysql/conf:/etc/mysql -v /usr/local/workspace/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 ``` 这个命令会在后台运行一个MySQL 5.7容器,并将主机的3306端口映射到容器的3306端口。同时,通过`-v`参数指定了数据存储位置和配置文件位置,通过`-e MYSQL_ROOT_PASSWORD`参数设置了MySQL的root用户密码为"123456"。\[3\] 无论使用哪种方法,安装成后,您可以使用Navicat等工具连接到MySQL数据库进行操作。如果在连接时遇到错误,可能需要开启远程访问权限。您可以通过进入MySQL容器并执行一些命令来开启远程访问权限。具体的解决方案可以参考上述引用\[3\]中的内容。 #### 引用[.reference_title] - *1* [在Linux系统中用Docker安装mysql](https://blog.csdn.net/weixin_56306210/article/details/126094938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【linux安装docker】使用docker安装mysql](https://blog.csdn.net/qq_40179653/article/details/124906857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux下docker安装Mysql](https://blog.csdn.net/weixin_44470298/article/details/107975462)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值