在docker中安装mysql
#!/bin/sh
# 安装docker
# 在docker中安装mysql
# 解决了docker容器中无法输入中文的问题
##########################安装docker
# 更新源
yum -y update
# 卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
# 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
echo '设置yum源完成'
# 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce
#由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
# 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
# https://www.cnblogs.com/yufeng218/p/8370670.html
#################### 安装mysql
# docker 中下载 mysql
docker image pull library/hello-world
docker pull mysql
#启动
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql -d mysql
docker run -p 3306:3306 -v $PWD/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql --name mysql -d 2dd01afbe8df
grant all privileges on *.* to root@"%" identified by "123666" with grant option;
# 查找镜像
docker search mysql
# 开启一个镜像
docker container start 容器id
# 停止一个容器
docker container stop 容器id
# 删除一个容器
docker container rm 容器id
# 来启一个容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql -d 容器id
# 查看支持的字符编码
locale
# 查看当前容器支持的字符集
localw -a
# 中文无法输入的方式进入到容器中
docker exec -it mysql /bin/bash
# 进入交互容器的界面
docker exec -it mysql env LANG=C.UTF-8 /bin/bash
# 进入mysql
mysql -uroot -pmysql
# 删除之前的用户
drop user 'python'@'%';
# 8之前的sql镜像(远程登录授权)
grant all privileges on *.* to root@"%" identified by "123666" with grant option;
grant all privileges on *.* to "python"@"%" identified by "123456"
# 8之后的sql镜像
CREATE USER 'python'@'%' IDENTIFIED WITH mysql_native_password BY 'mysql';
# 授权
grant all privileges on *.* to 'python'@'%';
# 刷新权限
flush privileges;
DOCKER_FILE_CONTENT=$DOCKER_FILE_CONTENT'ENV LANG C.UTF-8\n'
DOCKER_FILE_CONTENT=$DOCKER_FILE_CONTENT'ENV LC_ALL C.UTF-8\n'