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。关键表中的主键。唯一ID还是多个唯一键?

Primary key in relational tables. Composite primary key or unique primary key in those pure relational tables?Which design would you recommend to use in MySQL for high performance? See diagramTechnical advantages and disadvantages!Thanks everyone!解决方案…

mysql以user1登录_在mysql中创建用户后不能本地登录的解决方法

在安装完成MySQL后,我们通常添加拥有相应权限的普通用户用来访问数据库。在使用用户本地登录数据库的时候,经常会出现怎么登录也无法登录的情况,但是从其他的mysql客户端却可以登录。[rootmysql01 ~]# mysql -userver -p123456ERROR 1045 (28000): Acces…

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远程授权格式_MySQL远程访问授权

开启 MySQL 的远程登陆帐号有两大步:1、确定服务器上的防火墙没有阻止 3306 端口。MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。如果您在安装 MySQL 时指定了其他端口&#xf…

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

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

mysql 日志节点恢复_基于binlog二进制日志的MySQL恢复笔记

基于binlog二进制日志的MySQL恢复笔记刚好复习到这里,顺手做个小实验,记录下。总的操作流程:step0、关掉数据库的对外访问【防止用户操作继续写入这个库】step1、mysqlbinlog 导出相关时间段数据库的二进制日志step2、编辑today.sql找到误操作…

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图是数据库设计的工具之一,它一般适用于建立数据…

python对角线图_python对角线图_python – 在Seaborn Jointplot上绘制对角线(相等的线)...

错误是一个有用的暗示:JointPlot是子图的集合,你必须找到特定的斧头来绘制.修改Seaborn示例:import numpy as npimport pandas as pdimport seaborn as snsfrom matplotlib.pyplot import showsns.set(style"white")# Generate a random corre…

python编程求极限_Sympy笔记一

from IPython.display import displayfrom sympy import *前置知识理解这份笔记的内容需,读者需要具备基础的python知识并且对函数,微积分和矩阵有一定的基础。辅助函数由于后面的笔记中, 我们会大量将一个Sympy object和应用某个函数之后&am…

python语言逆序符号_python的逆序

下面的代码片段可以帮助您完成最后一个任务。如果在字符串的开始或结尾之外的其他地方发现了特殊字符,则对于子集的恢复没有特殊处理。在# Special chars which should be ignored for revertingSPECIALCHARS [ , ., ,]def reverse( string_ ):# Find occurence of…

wpf mysql存储过程_MySQL存储过程的创建及调用

# SQL语句:先编译后执行存储过程(Stored Procedure):一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。优点(为什么要用存储过…

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

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

python123测验7程序题答案_Python语言程序设计 Python123 测验7: 文件和数据格式化(编程题)...

版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/weixin_42067082/article/details/97661863文本的平均列数描述:打印输出附件文件的平均列数…

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

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

设置MySQL排序方式_设置MySQL设置字符集和排序方式

1. 编辑/etc/my.cnf文件, 在"[client]"下添加"default-character-setutf8"2. 编辑/etc/my.cnf文件, 在"[mysqld]"下添加"default-character-setutf8"3. 重新启动mysql服务# sudo /etc/init.d/mysqld restart* 查看系统字符集和排序方式…

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

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