分布式环境搭建(四):安装mysql

下载镜像

sudo docker pull mysql:5.7

在这里插入图片描述

查看下载的镜像

sudo docker images

在这里插入图片描述

创建mysql实例并启动

sudo docker run -p 3306:3306 --name mysql \
-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 3306:3306 将容器的3306端口映射到主机
--name mysql 给容器命名为mysql
-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 将mysql的root密码定为root
-d mysql:5.7 以mysql:5.7镜像启动容器

在这里插入图片描述

查看docker容器

sudo docker ps

mysql已启动成功
在这里插入图片描述

配置mysql

打开my.cnf文件
vi /mydata/mysql/conf/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

重启mysql

sudo docker restart mysql

进入mysql 容器

sudo docker exec -it mysql /bin/bash

可以看到,一个mysql容器就是一个完整的linux环境
在这里插入图片描述

查看容器中的mysql配置文件
cd /etc/mysql/
cat my.cnf

看到这个文件的内容就是刚刚我们配置的内容,是因为在创建mysql实例并启动时,对这三个目录进行了映射,在这三个目录下的文件的修改都将同步到mysql容器的对应文件中,就不需要进入mysql容器中再去修改配置,简化了操作
在这里插入图片描述

在这里插入图片描述

连接数据库

验证mysql启动是否正常在这里插入图片描述

修改mysql密码

1.进入mysql容器
docker exec -it mysql /bin/bash

2.登录mysql
mysql -u root -p
输入密码:root

3.切换数据库
use mysql

4.查询root用户
select * from user where user = root;

5.修改密码
update user set authentication_string = password('新的密码'), password_expired = 'N', password_last_changed = now() where user = 'root';

6.这条命令暂不清楚
update user set plugin="mysql_native_password";

7.刷新权限
flush privileges;

8.退出
quit;

9.重新登录
mysql -u root -p 

输入新的密码,登录成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值