Docker 安装 mysql5.7

Docker 安装 mysql5.7

1. 获取mysql:拉去mysql镜像

docker pull mysql5.7

2. 启动mysql

# 运行容器
sudo docker run -p 3312:3306 --name mysql5.7 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
# 参数说明 -p 3312:3306 将容器的3306端口映射到主机的3312端口
# -v 宿主机文件目录:容器内目录  将容器内文件挂载到宿主机上
# -e MYSQL_ROOT_PASSWORD=root 设置mysql密码为root
# -d 后台启动
# --name 给启动容器起名字


3.编辑挂载配置文件

# 进入配置文件挂载的目录下[配置是空的,需要添加配置]
cd /mydata/mysql/conf

# 编辑配置文件my.cnf
vim my.cnf

# 新增配置文件内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

# 修改配置文件之后,重启容器
docker restart mysql5.7


4. 进入mysql容器

# 使用docker ps 查看启动的容器(查看是否正常启动,防止端口冲突,启动失败)
docker ps -a  
#若端口冲突,需要先杀死其他进程再启动

docker  start  mysql5.7  
docker exec -it 容器名称|容器id bin/bash

docker exec -it  mysql5.7  bin/bash

5. 登录mysql,并打开远程访问授权

//1.登录mysql
mysql -uroot -p
//2.进行授权
GRANT ALL ON *.* TO 'root'@'%';
//3.刷新权限
flush privileges;
//4.加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
//5.更新root密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
//6.刷新权限
flush privileges;
# 设置mysql开机自启动(可选)
docker update mysql --restart=always

5. 使用远程登录进行测试

Docker 安装 mysql5.7_第1张图片

你可能感兴趣的:(Docker,MySQL,docker,mysql,容器)