Linux下使用docker部署mysql(一)

1.拉取docker

docker pull mysql:5.7

 2.配置挂载目录

sudo mkdir -p /docker_data/mysql/data
sudo mkdir -p /docker_data/mysql/conf
sudo mkdir -p /docker_data/mysql/conf/conf.d
sudo mkdir -p /docker_data/mysql/conf/mysql.conf.d
sudo mkdir -p /docker_data/mysql/logs

 

3.运行mysql容器

sudo docker run --privileged=true --restart=always --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql:5.7

sudo docker run:这个命令用于在 Docker 中运行一个容器。
--privileged=true:这个选项指示 Docker 将容器运行在特权模式下,即容器内的进程将拥有主机的特权,这通常用于在容器内部运行一些需要特权的操作。
--restart=always:这个选项指示 Docker 在容器意外停止时自动重启容器。这样可以确保 MySQL 服务始终处于运行状态。
--name mysql5.7:这个选项指定容器的名称为 mysql5.7,这样你可以使用这个名称来引用这个容器。
-p 3306:3306:这个选项将主机的 3306 端口映射到容器内部的 3306 端口,这样你就可以通过主机的 3306 端口访问 MySQL 服务。
-e MYSQL_ROOT_PASSWORD=root123456:这个选项设置了 MySQL 的 root 用户的密码为 root123456。-e 用于设置环境变量。
-d:这个选项指示 Docker 在后台运行容器,即以守护进程的方式运行容器

 直到这里就算是docker中的mysql算是安装好了,只是安装,还要配置mysql里的链接的用户名什么的数据库什么的,

 

4.进入MySQL容器及创建账号
sudo docker exec -it mysql5.7 bash

执行后,就报一直在重启,

 查看下日志 docker logs

 

 

 

sudo docker run --privileged=true --restart=always --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d -v /docker_data/mysql/data:/var/lib/mysql -v /docker_data/mysql/conf:/etc/mysql -v /docker_data/mysql/logs:/var/log/mysql mysql:5.7

 这样就好了

 

 

sudo docker exec -it mysql5.7 bash
mysql -u root -p 

 

mysql> CREATE USER 'unified_model_root'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE DATABASE `unified_model` CHARACTER SET 'utf8mb4';
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON `unified_model`.* TO 'unified_model_root'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

 

 

 

 

 


posted @ 2024-04-13 14:11  ProZkb  阅读(79)  评论(0编辑  收藏  举报