docker 部署mysql

5 篇文章 1 订阅
3 篇文章 0 订阅

docker 部署mysql

1.安装yum-utils

yum install -y yum-utils device-mapper-persistent-data lvm2

2.为yum源添加docker仓库位置

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.下载mysql镜像

docker pull mysql:5.7

4.启动mysql服务

docker run -p 3306:3306 --name mysql\
--privileged=true \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=cy@123,. \
-d mysql:5.7

参数说明:

-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

访问 Mysql 服务
进入容器内部

docker exec -it mysql bash

登录mysql

mysql -uroot -pdaodaotest

设置mysql远程允许访问

设置
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'daodaotest' WITH GRANT OPTION;
刷新配置
FLUSH PRIVILEGES;

mysql登录不了情况说明
密码不要设置@,无法再容器内部登录

修改密码办法,


1.修改配置文件my.cnf,[mysqld]下加入以下代码
skip-grant-tables

2.重启容器
docker restart mysql 
3.进入容器内部
docker exec -it 容器ID /bin/bash
4.登录mysql 输入命令
mysql -uroot 
5.修改root密码

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update mysql.user set authentication_string = password("root1234") where user="root";
Query OK, 2 rows affected, 1 warning (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 1

mysql> exit

6.将my.cd文件中的配置去除
7.重启容器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值