当前位置: 首页 > news >正文

Docker安装MySql详细步骤

图片

1、新建挂载目录

首先进入安装mysql的目录,没有就自行创建

mkdir -p /usr/local/docker/mysql-docker
cd /usr/local/docker/mysql-docker

接着挂载目录

# 选择自己的软件安装目录,新建挂载文件目录
mkdir -p data logs mysql-files conf
# 赋予权限、这里我自己用为了方便直接设置了777,如果你要求安全,请不要如此设置,
# 需根据挂载文件要求的权限放开对应的读、写或执行权限即可
chmod 777 data logs mysql-files conf

2、配置my.cnf

进入conf目录并创建并配置my.cnf

cd conf
vi my.cnf
[mysqld]
user=mysql
bind-address = 0.0.0.0  # 表示允许任何主机登陆MySQL
port=3306               # 表示MySQL运行端口为3306
default-storage-engine=INNODB
#character-set-server=utf8
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
secure-file-priv=
[client]
#utf8mb4字符集可以存储emoji表情字符
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

3、配置docker-compose文件

最新版本的镜像可参照官网

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/

进入安装目录并创建docker-compose.yaml

cd /usr/local/docker/mysql-docker
vi docker-compose.yaml
version: "3"
services:mysql:image: mysql:8.0.33container_name: mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: rootports:- 13306:3306command:--default-authentication-plugin=mysql_native_password--lower_case_table_names=1--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--wait_timeout=28800--interactive_timeout=28800--max_connections=1000--explicit_defaults_for_timestamp=true--max_allowed_packet=128Mvolumes:- /etc/localtime:/etc/localtime- ./data:/var/lib/mysql- ./conf/my.cnf:/etc/mysql/my.cnf- ./logs:/var/log/mysql- ./mysql-files:/var/lib/mysql-files

参数说明:

图片

4、启动容器

注意需要在docker-compose.yml所在的目录下执行

docker-compose -f docker-compose.yaml up -d

查看是否启动成功

docker ps

如果启动失败,查看日志

docker-compose logs -f

5、修改root密码和开启远程访问

# 进入mysql容器
docker exec -it mysql bash
# 登录mysql
mysql -u root -p
# 提示输入密码root,直接enter即可
# 使用mysql数据库
use mysql;
# 查询mysql账户表信息
select user, host, authentication_string, plugin from user; 
# 修改host可以远程访问
UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost';
# 刷新权限
FLUSH PRIVILEGES;
# 修改root密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
# 刷新权限
FLUSH PRIVILEGES;
# 退出mysql,退出容器
exit;

重启mysql容器

# 重启mysql容器
cd /usr/local/docker/mysql-docker;
docker-compose restart;
# 此时root账号可以远程访问了

查看日志:

docker-compose logs -f

或者新建一个用户(推荐)

CREATE USER 'fuyun'@'%' IDENTIFIED BY 'T@#^%HKGYjhds9123HJ';
GRANT ALL PRIVILEGES ON *.* TO 'fuyun'@'%';
FLUSH PRIVILEGES;

6、开放13306端口

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 13306 -j ACCEPT
systemctl restart firewalld

图片

http://www.lryc.cn/news/277260.html

相关文章:

  • 【微服务合集】
  • Hadoop之mapreduce参数大全-2
  • 目标检测YOLO实战应用案例100讲-基于图像增强的鸟类目标检测(续)
  • MYSQL分表容量预估:简明指南
  • 面试宝典进阶之Java线程面试题
  • BOM简介
  • Java中的集合框架
  • Rustdesk打开Win10 下客户端下面服务不会自启,显示服务未运行
  • 【SPDK】【NoF】使用SPDK部署NVMe over TCP
  • Spring boot 3 集成rocketmq-spring-boot-starter解决版本不一致问题
  • python爬虫实战(6)--获取某度热榜
  • 十三、K8S之亲和性
  • 对于网关的理解-Gateway
  • win10 - Snipaste截图工具的使用
  • Selenium 学习(0.19)——软件测试之基本路径测试法——拓展案例
  • 工作记录-------正则表达式---小白也能看懂
  • C3-1.3.1 无监督学习——异常检测
  • 1.4.1机器学习——梯度下降+α学习率大小判定
  • 在IntelliJ IDEA中,.idea文件是什么,可以删除吗
  • 【Spring Cloud】Gateway组件的三种使用方式
  • 对象的复制
  • 基于 Python+Neo4j+医药数据,构建了一个知识图谱的自动问答系统
  • Maven之属性管理
  • 快乐学Python,数据分析之获取数据方法「公开数据或爬虫」
  • 前端常用的设计模式
  • 游戏引擎支持脚本编程有啥好处
  • react中概念性总结(二)
  • WPF自定义漂亮顶部工具栏 WPF自定义精致最大化关闭工具栏 wpf导航栏自定义 WPF快速开发工具栏
  • Transformer 的双向编码器表示 (BERT)
  • 关于LwRB环形缓冲区开源库的纯C++版本支持原子操作