1、在/home目录下新建mysql目录

  mysql目录中新建三个目录:conf目录、logs目录、data目录,建这些目录的目的是用来挂载docker中的mysql下的目录的。

  结果如下:

  1.1、然后在conf中写一个mysql的配置文件my.cnf,里面就是配置一些端口号啊、用什么模式啊,内存开多大啊什么的

  配置内容如下:这是我在网上复制过来的,配置内容限制了一些东西,也没使用innodb引擎,根据自己需求配置

port= 

character-set-server=utf8

performance_schema_max_table_instances=

table_definition_cache=

table_open_cache=

innodb=OFF

default-storage-engine=MYISAM

default-tmp-storage-engine=MYISAM

loose-innodb-trx=

loose-innodb-locks=

loose-innodb-lock-waits=

loose-innodb-cmp=

loose-innodb-cmp-per-index=

loose-innodb-cmp-per-index-reset=

loose-innodb-cmp-reset=

loose-innodb-cmpmem=

loose-innodb-cmpmem-reset=

loose-innodb-buffer-page=

loose-innodb-buffer-page-lru=

loose-innodb-buffer-pool-stats=

loose-innodb-metrics=

loose-innodb-ft-default-stopword=

loose-innodb-ft-inserted=

loose-innodb-ft-deleted=

loose-innodb-ft-being-deleted=

loose-innodb-ft-config=

loose-innodb-ft-index-cache=

loose-innodb-ft-index-table=

loose-innodb-sys-tables=

loose-innodb-sys-tablestats=

loose-innodb-sys-indexes=

loose-innodb-sys-columns=

loose-innodb-sys-fields=

loose-innodb-sys-foreign=

loose-innodb-sys-foreign-cols=

join_buffer_size = 64M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

2、然后使用docker下载mysql镜像,并运行:

  下载mysql5.6版本命令:docker pull mysql:5.6

  查看下载好的mysql5.6数据库:

  2.1、运行mysql5.6容器:

docker run -p : --name mysql -v /home/mysql/conf/my.cnf:/etc/mysql/cnf.d -v /home/mysql/logs:/etc/mysql/logs -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD= -d mysql:5.6
c85b684385002b1ea64c61fe1ba5801d41a1d18afa03bb0c86495addc6cfb614
命令有点长,说下大概什么意思:
docker run -p : --name mysql 意思就是运行mysql容器,指定本机端口3306映射到docker内部的3306端口,--name为起了个别名叫mysql,不起别名的话以后在docker里操作mysql这个容器就只能用容器id来操作 -v /home/mysql/conf/my.cnf:/etc/mysql/cnf.d 表示将之前新建的/home/mysql/conf目录中的my.cnf配置文件挂载到mysql容器里的配置,其实就是替换掉,让容器使用这个配置 -v /home/mysql/logs:/etc/mysql/logs 意思跟上面一个一样,让容器使用/home/mysql/logs这个目录,不用自己默认的 -v /home/mysql/data:/var/lib/mysql 跟上面意思一样 -e MYSQL_ROOT_PASSWORD= 初始化root用户密码 -d mysql:5.6 表示此容器后台程序运行

  查看docker正在运行的容器:docker ps

  可以看到mysql运行成功:

  如果路径没有打错的话,有可能会遇到这个报错:我就遇到了,直接运行:yum update  命令后,重新运行mysql容器

  

3、mysql容器运行成功后,进入数据看看:

进入数据库命令:
docker exec -it c85b68438500 /bin/bash 输入数据库账号密码命令:
mysql -uroot -p 进入数据库后,执行sql代码显示当前所有数据库:注意要加;号按回车
show databases;

=====================新加一个修改root密码步骤:

linux进入数据库,使用以下两条命令修改root密码:

、使用mysql
use mysql; 、修改root密码为654321
update user set password=passworD("") where user = 'root'; 、刷新缓存
flush privileges; 4、退出mysql
exit 然后重进mysql,用修改后的密码登录就ok啦

==============数据库安装成功之后,连接数据库=========================

如果用的是本机虚拟机,用数据库操作工具连接不上的话,直接关闭虚拟机的防火墙就行了

我用的是阿里云服务器,外网是直接连不上去的,要去配置一下安全组开放3306端口。

很简单自行百度配置阿里云服务器安全组开放端口

Docker安装并运行mysql5.6数据库的更多相关文章

  1. 使用docker安装和运行常用的数据库和中间件

    mysql: docker pull mysql: docker run --name mysql -p : -v /usr/share/zoneinfo/Asia/Shanghai:/etc/loc ...

  2. Docker安装以及运行第一个HelloWorld

      Docker安装以及运行第一个HelloWorld

  3. 在一台机子上,安装,运行两mysql数据库实例

    为了方便测试,想要用到两个mysql数据库实例.以windows系统为例 当然安装第一个mysql数据库,很简单没什么说的.但是再要安装,运行mysql安装程序时,会提示,修复,卸载,重新安装. 这时 ...

  4. docker安装消息队列(rabbitmq)及数据库(mongo、mysql)

    解决ipv6 访问问题 nohup socat TCP6-LISTEN:36001,reuseaddr,fork TCP4:127.0.0.1:36000 > /root/ip6to4.log ...

  5. mac下docker安装php链接使用国产数据库驱动

    docker下配置php macos系统无法使用神通数据库,所以使用docker来安装php 第一步先安装php docker search php docker pull php:7.1-fpm d ...

  6. Docker安装+HelloWorld+运行Tomcat

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 上一篇已经讲解了为什么需要Docker?,相信大家已 ...

  7. Docker 安装并运行 Redis

    说明 在Windows下运行Redis主要有以下几种方式: 使用微软官方构建的Windows版Redis,最新版本是3.0.504,发布于2016-07-01.https://github.com/m ...

  8. docker安装并运行redis

    拉取镜像: [mall@VM_0_7_centos ~]$ sudo docker pull redis:3.2 [sudo] password for mall: 3.2: Pulling from ...

  9. docker安装并运行kibana

    拉镜像: [mall@VM_0_7_centos ~]$ : Pulling from library/kibana 256b176beaff: Already exists 88643bded09c ...

随机推荐

  1. 一些有用的Function或Class Method,持续更新

    一些有用的Function 或 Class Method Function/Class Method 类型 作用 模块 备注 co_cost_show_order_costs Func 显示生产订单. ...

  2. vue中使用props传递参数

    通常,父组件的模板中包含子组件,父组件要正向地向子组件传递数据或参数,子组件收到后根据参数的不同来渲染不同的内容,或者执行操作. 这个正向传递数据的过程是通过props来实现的. 在组件中,子组件使用 ...

  3. 039.[转] 基于 Kubernetes 和 Spring Cloud 的微服务化实践

    http://dockone.io/article/2967 基于 Kubernetes 和 Spring Cloud 的微服务化实践 写在前面 网易云容器平台期望能给实施了微服务架构的团队提供完整的 ...

  4. 'Specifying a namespace in include() without providing an app_name '

    'Specifying a namespace in include() without providing an app_name ’ 从include()函数可以看出来,这个函数有两个参数,一个a ...

  5. 好用的性能检测工具-性能监控工具- Glances

    平常我经常使用 htop 工具来进行对主机进行性能检测.但是它只能对 进行进行管理.并简要显示 进程和cpu和内存使用信息:性能监控工具: glances 是比较好的性能检测工具.相比较htop还能显 ...

  6. keepass可以在浏览器中使用吗?

    KeePass不提供浏览器扩展,因此当您访问登录页面时,它不会弹出并提示您.您可以将登录信息从KeePass复制粘贴到网页上的相应框中,甚至可以使用拖放操作将用户名和密码移至上方,但这不是最方便的解决 ...

  7. 201871010116-祁英红《面向对象程序设计(java)》第十二周学习总结

    博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...

  8. AcWing 27. 数值的整数次方

    地址 https://www.acwing.com/problem/content/description/26/ 题目描述实现函数double Power(double base, int expo ...

  9. AcWing 39. 对称的二叉树

    地址 https://www.acwing.com/problem/content/description/38/ 题目描述请实现一个函数,用来判断一棵二叉树是不是对称的. 如果一棵二叉树和它的镜像一 ...

  10. kvm与xen虚拟化的比较(转)

    Linux虚拟化技术的用户目前有两种免费的开源管理程序可以选择:Xen和KVM. 作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商 ...