前言
Manjaro 安装MySQL8很简单粗暴,为什么还要装 Docker 呢?
滚动更新惹得祸!!!
当前状态 MySQL8.0.16 更新之后需要 GLIBGXX_3.4.26
,我这里的 GCC 8.3.0-1
版本正好没有 GLIBGXX_3.4.26
,但是还是最新的,搞了一次社区 GCC 9.1.0
版本,操作系统都起不来了。
最后选择Docker
,确实简单粗暴!
此处MySql
是一个示例,其它安装操作一样的。
安装
ArchLinux 安装
1 2 3
| sudo pacman -S docker sudo systemctl enable docker sudo systemctl start docker
|
其它安装
Ubuntu Docker 安装
CentOS Docker 安装
Windows Docker 安装
MacOS Docker 安装
使用其它国内源(可跳过)
直接使用
1
| docker pull registry.docker-cn.com/library/mysql
|
配置源
使用 –registry-mirror 配置 Docker 守护进程
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| vim /etc/docker/daemon.json
{ "registry-mirrors": [ "https://kfwkfulq.mirror.aliyuncs.com", "https://2lqq34jg.mirror.aliyuncs.com", "https://pee6w651.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com" ], "dns": ["8.8.8.8","8.8.4.4"] }
sudo systemctl restart docker
|
使用清华大学 yum 源
1
| sed 's!//download\.docker\.com!//mirrors.tuna.tsinghua.edu.cn/docker-ce!g' -i /etc/yum.repos.d/docker-ce.repo
|
安装MySQL8
一、镜像安装
查找 MySql 镜像
1
| sudo docker search mysql
|
获取 MySql 镜像
这里下载好的镜像为最新版的 MySql
Downloaded newer image for mysql:latest
启动镜像
1 2 3 4 5 6 7 8 9
| sudo docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=maxzhao -d mysql
sudo docker start mysql
sudo docker exec -it mysql bash
mysql -u root -p
|
实例
1 2 3 4 5 6 7 8
| mkdir -p /opt/mysql8/data /opt/mysql8/logs /opt/mysql8/conf cd /opt/mysql8 sudo docker run -p 3306:3306 --name mysql \ -v /opt/mysql8/conf:/etc/mysql/conf.d \ -v /opt/mysql8/logs:/logs \ -v /opt/mysql8/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=xxx1 \ -d mysql
|
命令说明
- -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
- -v /opt/mysql8/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
- -v /opt/mysql8/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
- -v /opt/mysql8/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
- -e MYSQL_ROOT_PASSWORD=maxzhao:初始化 root 用户的密码。
- -d mysql:IMAGE 的名称
二、Dockerfile 构建
仔细思考了一下,还是把这章去掉了,毕竟,这篇文章讲的是新手操作。
我们的需求是用MySql
而不是操作Docker
。
其它操作
解决需要添加sudo
的问题
1 2 3 4
| sudo gpasswd -a maxzhao docker
groups maxzhao
|
查看容器运行情况
创建用户
1 2 3 4 5
| CREATE USER 'maxzhao'@'localhost' IDENTIFIED BY 'maxzhao'; grant all privileges on *.* TO 'maxzhao'@'localhost' WITH GRANT OPTION;
CREATE USER 'maxzhao'@'%' IDENTIFIED BY 'xxx'; GRANT ALL PRIVILEGES ON *.* TO 'maxzhao'@'%' WITH GRANT OPTION;
|
容器外登录MySQL
1 2 3
| sudo pacman -S mysql-clients mysql -h127.0.0.1 -uroot -p
|
查看镜像
1 2
| sudo docker images sudo docker ps
|
启动镜像
RUN | START
docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可。
推荐:
MySQL8.0创建用户及其配置
本文地址: https://github.com/maxzhao-it/blog/post/43590/