linux下用docker安装mysql及导入文件

1. 非root用户设置docker权限

# 1.使用root权限给user账户开权限
# (1)创建名为docker的一个用户组
sudo groupadd docker

# 查看docker组的用户
cat /etc/group|grep docker

# (2)非root用户加入刚创建用户组
sudo usermod -aG docker $USER
   其中,usermod是一个Linux系统命令,用于修改用户的属性和组关联;-aG是usermod命令的选项,其中-a表示追加(Append),-G表示指定用户所属的附加组;docker是要将用户添加到的用户组的名称;$USER是一个环境变量,表示当前用户的用户名。

或用:
sudo gpasswd -a ithing docker

# (3)切换当前会话的有效组
newgrp docker

# (4) 重启docker服务
systemctl restart docker

# 2.使用user账户测试是否可用
docker run hello-world

2. user账号安装mysql

# 安装docker
docker pull mysql:8.0.28

# 查看镜像中是否存在
docker images

2. root账号打开防火墙

# 查看防火墙
systemctl status firewalld
# 查看3306端口状态
firewall-cmd --zone=public --query-port=3306/tcp
# 如果是no,表示关闭,打开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 防火墙重载
firewall-cmd --reload
# 再次查看3306状态(yes)
firewall-cmd --zone=public --query-port=3306/tcp

3. 启动mysql容器

3.1 在指定工作目录下建立文件夹

mkdir -p mydata/mysql/log mydata/mysql/data mydata/mysql/conf mydata/mysql/database_input_file_dir

3.2 配置文件

  新建mydata/mysql/conf/my.cnf文件,我是从参考文件中摘取的,具体含义请导参考文件3中细读。

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
init_connect="SET collation_connection = utf8mb4_unicode_ci"
init_connect="SET NAMES utf8mb4"
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

3.3 开启mysql容器

docker run -p 3306:3306 --name mysql \
--privileged=true \
-v /user_mount/user_mount/Pipeline/mydata/mysql/log:/var/log/mysql \
-v /user_mount/user_mount/Pipeline/mydata/mysql/data:/var/lib/mysql \
-v /user_mount/user_mount/Pipeline/mydata/mysql/conf:/etc/mysql \
-v /user_mount/user_mount/Pipeline/mydata/mysql/database_input_file_dir:/var/lib/mysql-files \
-v /etc/localtime:/etc/localtime \
--restart=always -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.28

4. 进入容器

# 查看Docker运行中的容器是否有mysql
docker ps 

# 常用命令,对现在的image进行停止、删除
docker stop fa0dc115171d
docker rm fa0dc115171d

4.1 通过容器进入mysql

# 进入Mysql容器内部
docker exec -it mysql /bin/bash

# 进入mysql服务
root@aa22e995c23c:/# mysql -u root -p 

在这里插入图片描述

4.1 设置账号

  见参考文件5

4.2 建立数据库

  见参考文件5

4.3 导入文件

  实际文件目录:/disk_win/user/Database/mysql/database_input_file_dir
  sql语句中目录:/var/lib/mysql-files
  原因是在3.3中进行了镜像路径设置;
具体示例:

load data infile '/var/lib/mysql-files/a.csv' 
into table a character set utf8 
fields terminated by ',' optionally enclosed by '"' escaped by '"' 
lines terminated by '\n' IGNORE 1 LINES;

5. windows连接数据库

  见参考文件5

参考文件

(1) docker权限设置:让非root用户可以操作docker–》附带:linux新增用户添加root权限
(2) Docker 安装 Mysql 容器 (完整详细版)
(3) Docker实操:安装MySQL5.7详解(保姆级教程)
(4) docker安装mysql 8.0.20 版本 超详细教程
(5) Linux中mysql的安装、远程访问、基础操作、文件导入

相关推荐

  1. Linux 安装docker

    2024-03-27 23:40:02       6 阅读
  2. Linux安装MySQL

    2024-03-27 23:40:02       7 阅读
  3. MySQL安装,建立,导入本地Txt文件

    2024-03-27 23:40:02       44 阅读
  4. 怎么docker安装MySQL

    2024-03-27 23:40:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-27 23:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-27 23:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-27 23:40:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-27 23:40:02       20 阅读

热门阅读

  1. 计算机的进程

    2024-03-27 23:40:02       14 阅读
  2. 【无标题】

    2024-03-27 23:40:02       18 阅读
  3. Leetcode 283. 移动零

    2024-03-27 23:40:02       16 阅读
  4. maya 导入导出anim脚本

    2024-03-27 23:40:02       18 阅读
  5. Redis常用数据结构的用法和使用场景

    2024-03-27 23:40:02       18 阅读
  6. 求和...

    2024-03-27 23:40:02       16 阅读
  7. 控制传输和中断传输能否同时使用呢

    2024-03-27 23:40:02       19 阅读
  8. 31-1 文件包含漏洞 - 文件包含

    2024-03-27 23:40:02       18 阅读
  9. 华为机试题-密码输入检测

    2024-03-27 23:40:02       18 阅读
  10. Vue.js 目录结构

    2024-03-27 23:40:02       18 阅读