mysql基于docker安装及连接

mysql简介


1、什么是数据库 ?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等,本文主要讲述的是mysql

 安装 mysql

启动docker 

systemctl start docker 

下载MySQL 默认最新版本(如果对版本没有要求的话可以直接下载最新版)

docker pull mysql

等一会儿就下载好了,然后我们看一下docker中的镜像

docker images

 启动MySQL

docker run --restart=always --name test_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-time_zone='+8:00'//以下是注释 不要复制--restart=always:设置为开机启动--name test_mysql:自定义的名称-p 3306:3306:端口映射-e MYSQL_ROOT_PASSWORD=设置密码-e TZ=Asia/Shanghai:设置时区-d mysql:指定镜像--character-set-server=utf8mb4:指定字符集--collation-server=utf8mb4_unicode_ci:指定字符集--default-time_zone='+8:00':默认时区

启动之后我们看一下运行情况

docker ps

 远程连接

首先我们去配置一下云服务器安装组,开放3306端口,然后docker中也要开启3306端口

//开启3306端口firewall-cmd --zone=public --add-port=3306/tcp --permanent//重启防火墙firewall-cmd --reload

因为我们安装的是最新版,而最新版的mysql密码验证有更改,Navicat如果不是最新版的话,就验证不过去,这个时候我们要进入MySQL中设置一下

//进入test_mysql 的命令行模式 这里的test_mysql 就是刚刚起的那个名字docker exec -it test_mysql bash//默认进入root用户下root@xxxxxx:/#//进入mysql命令,回车输入docker-mysql密码mysql -u root -p//进入mysql数据库表use mysql;//修改密码方式alter user 'root'@'%' identified with mysql_native_password by '这里是你的密码';//完事 Ctrl+D连按两次回到主界面

这个时候回到Navicat 再次连接,连接成功!

 

总结

MySQL把使用了新的密码验证方式caching_sha2_password,可以通过phpinfo()函数了解当前安装的PHP是否支持caching_sha2_password。PHP 7.2.8和PHP 7.1.20已经可以支持caching_sha2_password,直接连接MySQL 8,但是PHP 7.0.31和PHP 5.6.37还无法支持caching_sha2_password,不知道后续版本是否会做出支持。

DockerHub上的相关镜像:

最后,再见!

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值