docker mysql配置 丢失_Ubuntu16.04服务器环境配置 – Docker、MySQL、Redis

Ubuntu16.04 服务器环境配置 – Docker、MySQL、Redis

ae077fafe21abca19141a05d4ff81309.png

安装Docker

1. 卸载旧版本

sudo apt-get remove docker docker-engine docker.io

2. 安装 https 相关的软件包

sudo apt-get update # 先更新一下软件源库信息sudo apt-get install  apt-transport-https  ca-certificates  curl  software-properties-common

3. 设置apt仓库地址

鉴于国内网络问题,使用国内(阿里云)地址,添加 阿里云 的apt仓库(使用国内源)。

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository  "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu  $(lsb_release -cs)  stable"

4. 安装 Docker 软件

sudo apt-get updatesudo apt-get install docker-ce # 安装最新版的docker

5. 查看Docker版本

docker --version

6. 解决 docker cli 权限问题

想要避免每次在执行 docker 命令都加一个 sudo,可以创建一个 docker 用户组,并将要使用 docker 的普通用户添加到该组。dockerd 进程启动时会将 Unix socket 的读写权限都赋予给 docker 用户组。这样就不需要使用 sudo 了。

创建 docker 用户组

sudo groupadd docker

添加当前用户到 docker 用户组

sudo usermod -aG docker $USER

接下来注销当前用户并重新登录,使前面的设置生效。

7. 使用 docker hub 国内镜像

对于使用 systemd 的系统(Ubuntu 16.04+、Debian 8+、CentOS 7), 在配置文件 /etc/docker/daemon.json 中加入:

{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]}

重新启动 dockerd:

sudo systemctl restart docker

安装Redis

1. 创建目录redis,用于存放后面的相关东西

sudo mkdir -p /data/redis/datadirsudo chown -R $USER:$USER /data/redis/

2. 拉取Redis最新版镜像

docker pull redis

3. 运行容器

docker run --name redis --restart=always -p 6379:6379 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /data/redis/datadir:/data -d redis redis-server --appendonly yes

命令说明:

– –restart=always : 设置实例自动重启

– -p 6379:6379 : 将容器的6379端口映射到主机的6379端口

– -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime : Docker容器时间与主机时间保持一致

– -v /data/redis/datadir:/data : 将主机中redis的data挂载到容器的/data

– redis-server –appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

4. 连接、查看容器

docker exec -it redis redis-cli

安装Mysql

1. 创建目录mysql

用于存放后面的相关东西。

sudo mkdir -p /data/mysql/datadir /data/mysql/logs /data/mysql/conf.dsudo chown -R $USER:$USER /data/mysql/

2. 添加配置文件my.cnf

vi /data/mysql/conf.d/my.cnf

内容如下:

[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysql#log-error = /var/log/mysql/error.log# By default we only accept connections from localhost#bind-address = 127.0.0.1# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0character_set_server=utf8mb4character_set_filesystem=utf8mb4collation-server=utf8mb4_unicode_ciinit-connect='SET NAMES utf8mb4'init_connect='SET collation_connection = utf8mb4_unicode_ci'skip-character-set-client-handshake

3. 拉取Mysql版本为5.7的镜像

docker pull mysql:5.7

4. 运行容器

docker run --restart=always --name mysql5.7 -p 3306:3306 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /data/mysql/datadir:/var/lib/mysql -v /data/mysql/logs:/logs -v /data/mysql/conf.d/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

命令说明:

– -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

– -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime : Docker容器时间与主机时间保持一致

– -v /data/mysql/datadir:/var/lib/mysql : 将主机mysql下的datadir目录挂载到容器的 /var/lib/mysql

– -v /data/mysql/logs:/logs : 将主机mysql目录下的 logs 目录挂载到容器的 /logs

– -v /data/mysql/conf.d/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf 将主机mysql目录下的 conf.d/my.cnf 挂载到容器的 /etc/mysql/mysql.conf.d/mysqld.cnf

– -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

5. 查看容器启动情况

docker ps

6. 连接Mysql数据库

mysql -h127.0.0.1 -uroot -p123456

7. 新建库并设置用户访问权限

新建数据库testdb

create database testdb;

创建用户testuser,可以远程访问

create user testuser@'%' identified by 'test123';

设置用户testuser可在远程访问访问库testdb

GRANT ALL PRIVILEGES ON testdb.* TO testuser;FLUSH PRIVILEGES;

参考:

  1. 《Docker Hub 源使用帮助》http://mirrors.ustc.edu.cn/help/dockerhub.html?highlight=docker
  2. 《Ubuntu16.04安装Docker》https://segmentfault.com/a/1190000014066388

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql主从配置_MySQL主从配置详解

主服务器数据库的每次操作都会记录在其二进制文件mysql-bin.xxx(该文件可以在mysql目录下的data目录中看到)中,从服务器的I/O线程使用专用账号登录到主服务器中读取该二进制文件,并将文件内容写入到自己本地的中继日志relay-log文件中,然后从…

mysql 复制方式_MySQL复制方法

MySQL的二进制日志,MySQL复制原理,MySQL主从模式搭建,MySQL双主模式搭建,MySQL级联模式搭建,MySQL半同步模式复制一、二进制日志1、概念MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数…

mysql内部时区_一文解决MySQL时区相关问题

前言:在使用MySQL的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八区、程序取得的时间和数据库存储的时间不一致等等问题。其实,这些问题都与数据库时区设置有关,本篇文章将从数据库参数入手&…

制作 mysql的rpm文件_自制mysql.rpm安装包

RPM安装比源码更快更方便,更利于统一版本,省去了繁琐的编译过程,下面以制作mysql的rpm安装包为例。编译环境1、 安装rpm-build;检查是否配置rpm环境1 # sudo yum list | greprpm2 This system is not registered with RHN.3 RHN s…

mysql multi主从复制_mysqld_multi方式配置Mysql数据库主从复制

mysqld_multi设计用于管理在同一台机器上运行的多个mysqld进程,这些进程使用不同的socket文件并监听在不同的端口上。mysqld_multi可以批量启动、关闭、或者报告这些mysqld进程的状态。在这里我们通过这种方式来在同一个机器上启动多个数据库实例,并配置…

mysql中if在oracle怎么用_mysql和oracle的mybatis操作

1.Oracle、MySQL插入时返回下一个主键的操作Xml代码 Oracle:SELECT SEQ_ROLE.NEXTVAL AS ID FROM DUALinsert into ROLE(ID, NAME, CREATE, MODIFY) values (#{id}, #{name}, sysdate, sysdate)注意:这边的keyProperty"id"中"id"指的…

mysql数据库的三级模式_2016年计算机三级MySQL数据库试题

2016年计算机三级MySQL数据库试题一、选择题1.E-R图提供了表示信息世界中实体、属性和________的方法。A.数据B.联系C.表D.模式2.数据库系统的核心是________。A.数据模型B.数据库管理系统C.数据库D.数据库管理员3.E-R图是数据库设计的工具之一,它一般适用于建立数据…

mysql没加引号导致全表扫描_mysql隐蔽的索引规则导致数据全表扫描

索引是为了加速数据的检索,但是不合理的表结构或适应不当则会起到反作用。我们在项目中就遇到过类似的问题,两个十万级别的数据表,在做连接查询的时候,查询时间达到了7000多秒还没有查出结果。首先说明,关联的字段都已…

mysql 多个密码登录_mysql 多实例登录密码测试

最近在做mysql 多实例的时候,采用不同的方式登录mysql数据库,发现mysql -uroot -p -h 127.0.0.1 -P3308 ,登录时居然不要密码就可以登录,吓得我一身汗,经过检查终于找到原因记录下来,给小白们参考。[rootmy…

redhat5.4 安装mysql_Linux redhat 5.4上安装MYDNS

Linux redhat 5.4上安装MYDNS一、1,MYDNS 的简介:MyDNS是一个UNIX平台下的免费DNS服务器端软件。它被设计成直接从数据库中读取DNS记录软件,并且修改记录后也可时时生效。在MyDNS上,你可随心所欲地增加你自己的次级域名的同时建站…

java的反射机制是什么_JAVA反射机制

一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息。二、哪里用到反射机制 有些时候,我们用过一些知识&#xf…

java unsafe park_Java魔法类——Unsafe应用解析

前言Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java…

计算机视觉基础(12)——图像恢复

前言 我们将学习图像恢复相关知识。主要有图像恢复的定义、评价标准和实现图像恢复的方法。图像恢复任务包括图像去噪、去模糊、图像超分辨率、图像修复等;评价标准有峰值信噪比和结构相似性;图像超分辨的方法有传统方法和基于深度学习的方法&#xff1a…

百度编辑器图片上传 java_百度编辑器粘贴图片自动上传到服务器(Java版)

ChromeIE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能。但是无法处理多张图片。而且转换成BASE64后是作为内容…

matlab解方java_Java:调用window的matlab遇到的问题和解决方案

描述容易报错的问题和可能原因1.java.lang.NullPointerException解决途径:window和linux的文件路径不同,window分隔符是\\,linux是/2.Exception in thread “main” java.lang.ExceptionInInitializerError解决途径:matlab生成的j…

java中的输入语句判断正负_在java中使用方法调用统计数组中正数的个数,将判断数据的正负功能定义成方法...

满意答案donglin820推荐于 2018.04.21public class TestDemo {static int count 0;// 统计整数的个数public static void main(String[] args) {int[] number new int[10];// 动态生成一个整数数组(长度为10)Scanner s new Scanner(System.in);for (int i 0; i < 10; i)…

java二级考试有草稿纸吗_“大型考试”为什么需要回收草稿纸?学生:这么多年也没整明白!...

在大家的求学生涯中&#xff0c;肯定不难发现这个事情&#xff0c;那就是学生考完试不能带走草稿纸&#xff0c;尤其是高考、中考这种全国统一大型考试&#xff0c;英语四六级等等&#xff0c;而一些初中高中、大学院校内部期末考试也是这样。学校和考场提供统一草稿纸目的是非…

expressjs如何做mysql注入_Node.js+Express+Mysql 实现增删改查

这次选用nodejsexpressmysql 使用http作为客户端&#xff0c;express框架搭建服务端&#xff0c;从而实现数据的增删改查。这篇文章可以算作上篇文章的升级篇&#xff0c;加入了和数据库的交互。安装node 直接去官网下载选择下载即可https://nodejs.org/en/download/current/cn…

docker pxc mysql_docker安装pxc集群的详细教程

前言现在mysql自建集群方案有多种&#xff0c;keepalived、MHA、PXC、MYSQL主备等&#xff0c;但是目前根据自身情况和条件&#xff0c;选择使用pxc的放来进行搭建&#xff0c;最大的好处就是&#xff0c;多主多备&#xff0c;即主从一体&#xff0c;没有同步延时问题&#xff…

php微信开源框架,SOPHP免费微信开源框架 php版 v4.5

SOPHP是一款稳定开源的微信公众平台开发系统,也是基于weiphp开发的第一款商业系统。依托自身强大的钩子功能&#xff0c;她可以帮助大家快速开发出自己想要的微信功能插件&#xff0c;运营近两年来我们收获了上千用户与良好的口碑。作为一个开源产品&#xff0c;希望大家都能参…