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的安装、远程访问、基础操作、文件导入

Linux安装DockerMySQL 5.7的步骤如下: 首先,安装Docker: 1. 更新软件包索引: ```bash sudo apt-get update ``` 2. 安装一些必要的系统工具: ```bash sudo apt-get install apt-transport-https ca-certificates curl software-properties-common ``` 3. 添加Docker官方的GPG密钥: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ``` 4. 添加Docker的APT仓库到你的系统: ```bash sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" ``` 5. 再次更新软件包索引: ```bash sudo apt-get update ``` 6. 安装Docker CE(社区版): ```bash sudo apt-get install docker-ce ``` 7. 验证Docker是否安装成功,并运行: ```bash sudo systemctl status docker sudo docker run hello-world ``` 接下来,安装MySQL 5.7: 1. 导入MySQL官方的GPG密钥: ```bash sudo apt-get install dirmngr sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5 ``` 2. 添加MySQL的APT仓库: ```bash echo "deb http://repo.mysql.com/apt/ubuntu/ $(lsb_release -cs) mysql-5.7" | sudo tee -a /etc/apt/sources.list.d/mysql-5.7.list ``` 3. 再次更新软件包索引: ```bash sudo apt-get update ``` 4. 安装MySQL服务器: ```bash sudo apt-get install mysql-server-5.7 ``` 5. 启动MySQL服务,并设置开机自启: ```bash sudo systemctl start mysql sudo systemctl enable mysql ``` 6. 运行安全安装脚本,设置root密码,移除匿名用户,禁止root远程登录等: ```bash sudo mysql_secure_installation ``` 7. 登录MySQL: ```bash mysql -u root -p ``` 请根据你的Linux发行版和版本选择相应的安装命令。上述步骤适用于基于Debian的系统,如Ubuntu。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值