10分钟教你快速安装mysql

1. 前言

前提是已经安装docker,如果没安装请下载,几分钟即可安装完成,地址: www.docker.com/products/do…

2. 选择官方镜像

hub.docker.com/_/mysql/tag…

本文选择选择8.0版本

3.下载安装

   docker pull mysql:8.0
复制代码

  • 查看镜像

4. 启动

设置密码为root,容器名称为mysql

docker run --name mysql -p 3306:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
复制代码

4.1 参数说明

  • -p 3306:3306

    表示把容器端口映射到本地,如果不映射本地连接不上数据库,只能进入到容器里面连接

  • -v /data/mysql:/var/lib/mysql,

    数据文件目录,表示把容器/var/lib/mysql目录,映射到/data/mysql,这样不会因容器重新启动导致数据丢失

  • -e MYSQL_ROOT_PASSWORD=root

    表示mysql 密码为root

  • --name mysql

    表示容器名称为mysql

4.2 查看容器列表

5. 登录数据库

5.1 命令行方式

查看容器列表,容器ID为0a83ebe4baae


docker exec -it 0a83ebe4baae  /bin/bash

复制代码

5.2 本地navicat连接

本地通过navicat连接,会报如下错,原因是客户端不支持caching_sha2_password的密码加密方式。那么,我们修改用户密码加密方式为经典方式。

5.2.1 修改密码加密方式

> mysql -u root -proot; 

> use mysql; 

> select user, host, plugin, authentication_string from user\G;

> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

复制代码

5.2.2 再次登录

6.扩展篇

6.1 数据丢失测试

测试步骤

创建数据库,创建用户表,插入数据,关闭数据库,在次启动查看数据是否存在

6.1.1 创建测试数据

create database test;
use test;

create table user(
id int,
age int,
username varchar(20)
)

insert into user values(1,18,'张三');

复制代码

6.1.2 关闭数据库

0a83ebe4baae为容器id,通过docker ps查询

 docker stop 0a83ebe4baae
复制代码

查看容器是否启动

可以看到已经停止

6.1.3 再次启动

docker restart mysql
复制代码

6.1.4 查看数据

执行如下命令可以看到数据依然存在,没有丢失

docker exec -it 0a83ebe4baae  /bin/bash

mysql -uroot -proot;

show databases;

use test;

select * from user
复制代码

6.2 图形化方式管理容器

下载链接:www.docker.com/products/do…

如果嫌命令行比较麻烦,可以通过docker desktop来管理,也是比较方便,可以看到提供了重启,删除,暂停等按钮

也可以点击容器,快速进入里面进行命令行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值