华为云HECS云服务器docker环境下安装mysql

2023-09-19 10:30:25

        华为云HECS云服务器,已经安装了docker环境,准备下docker环境下安装mysql。

一、HECS云服务器安装docker

登录华为HECS云服务器,安装docker环境。

安装docker参考如下文章:

华为云HECS安装docker并安装mysql-CSDN博客

二、拉取mysql镜像

 1、拉取mysql5.7的镜像

docker pull mysql:5.7

 2、查看镜像

docker images

 或(带mysql关键字过滤)

docker images | grep mysql

三、运行镜像,创建mysql容器

1运行docker run指令,安装

docker run -p 3306:3306 --name=mysql --restart=always --privileged=true -v /var/log/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

 -p 3306:3306:指定宿主机端口与容器端口映射关系

--name mysql:创建的容器名称

--restart=always:总是跟随docker启动

-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456

--privileged=true:获取宿主机root权限。使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。

-v:分别挂载出来日志、mysql数据和my.cnf,-v 宿主机文件:容器中文件

-d mysql:5.7:表示后台运行mysql容器,mysql:5.7:镜像名和版本,如果这个镜像不存在会自动下载镜像。

2运行docker ps指令,查看是否安装成功

docker ps | grep mysql

如上,能查询出结果证明安装成功。8cbca6e62b09 为容器id。

3、配置mysql(创建my.cnf文件)

宿主机的/usr/local/mysql/conf目录下创建文件my.cnf

文件内容

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

4.重启mysql服务 使其配置生效

docker restart mysql

5.设置docker启动时就运行mysql

docker update mysql --restart=always

6.重启mysql

docker restart mysql

四、进入容器

-it后跟要进入容器的id 或者名字

docker exec -it 8cbca6e62b09 /bin/bash

或者

docker exec -it mysql /bin/bash

注:如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器

五、mysql操作

1进入mysql

mysql -uroot -p

 输入密码,进入mysql

2 库表操作

#创建db01库
 CREATE DATABASE db01;
#进入db01库
 use db01;
#创建表t1
 CREATE table t1(id int ,nams varchar(20));
#新增数据
 INSERT into t1 VALUES (1,"aa");
#查询t1表
 SELECT * from t1;
#新增数据
 INSERT into t1 VALUES (2,"王五");
#查询t1表
 SELECT * from t1;

 运行语句界面如下:

注:插入带有汉字的数据报错时

(1)、检查是否设置了my.cnf文件

(2)、检查是否重启了mysql服务,使配置生效

(3)、查看数据库字符是否已经是utf-8

SHOW VARIABLES LIKE 'character_set_%';

show create database db01;

如果不是则设置一下

alter database db01 character set utf8;

在确定数据库已经是utf-8的格式下,检查一下表字段的字符集是否为utf-8

SHOW FULL COLUMNS FROM t1;

如果不是,删表重新创建。

3 查看创建的库表

navicat登录mysql    

测试连接提示不通,需要在云服务的安全组设置一下规则

登录成功,看到刚刚添加的库表信息

   

更多推荐

策略模式,一种广泛应用于各种情况的设计模式(设计模式与开发实践 P5)

文章目录策略模式实现思想实战-表单策略模式定义:定义一系列算法,把它们一个个封装起来,并且可以互相替换例如,我们要计算年终奖,年终奖根据绩效A、B、C来计算最终数值实现最初我们很容易想到用分支if来解决这个问题,如果绩效=A则工资x2,如果绩效=B则工资x3如果经常使用这样的分支结构,你会发现代码耦合度很高,很容易就出

瑞芯微RK3568:Debian系统如何安装Docker

本文基于HD-RK3568-IOT评估板演示Debian系统安装Docker,该方法适用于RK356X全系产品。HD-RK3568-IOT评估板基于HD-RK3568-CORE工业级核心板设计(双网口、双CAN、5路串口),接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。适用于工业自动化控制、人机

网络安全(黑客)自学

前言:想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有

手写模拟Spring的底层原理2.1

先来引入两个问题第一个懒加载还是立即加载的问题,这个问题还是在于就是说,当我们xml配置了一个对象bean的时候,它在spring容器里面是什么时候开始会给我们创建这个对象那如果我们想对某个对象启动懒加载,可以添加@lazy这个注解这个注解一加上,它就只会在得到对象的时候给我们在容器中创建对象也就是在使用下面的方法的时

Reactor 第十二篇 WebFlux集成PostgreSQL

1引言在现代的应用开发中,数据库是存储和管理数据的关键组件。PostgreSQL是一种强大的开源关系型数据库,而WebFlux是Spring框架提供的响应式编程模型。本文将介绍如何使用Reactor和WebFlux集成PostgreSQL,实现响应式的数据库访问。1.环境准备首先,我们需要在项目的pom.xml文件中添

一个例子了解交叉编译

学习嵌入式Linux经常听到交叉编译这个名词,那到底什么是交叉编译,下面通过一个例子来介绍。首先新建一个C文件,其代码如下。#include"stdio.h"voidmain(){inta,b;intc;printf("请输入两个数:\n");scanf("%d%d",&a,&b);c=a+b;printf("a+b=

Ubuntu不能上网解决办法

判断能不能联网1、怎么判断ubuntu确实不能联网?(1)最简单的办法当然是打开一个浏览器,随便输入一个网址,如www.baidu.com,若不能打开该网址,说明可能联网有问题。(2)打开终端,输入ifconfig命令,可以显示当前系统的网络设备,若只出现以下一个设备,表示该系统确实不能联网。(3)同样打开终端,使用p

Python经典练习题(三)

文章目录🍀第一题🍀第二题🍀第三题🍀第一题输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。本题需要我们掌握的知识点在于,判断字符串,是数字还是字母还是啥的,当然在Python内置中几乎都可以找到我们需要的下表我将介绍一些常用的判断函数判断函数描述isalnum()判断是否为字母或数字(字母数字组

SQL Server 数据库变成单个用户怎么办

参考技术A1、首先我们打开SQLSERVER的管理控制台,找到一个要设置角色的用户。2、下面我们将为这个用户赋予创建数据库的角色,我们先用这个用户登录管理工具看一下是否具有创建用户的权限。3、进行数据库创建的时候,提示如下的错误,证明这个用户不具备这个角色的权限。4、下面我们登录sa用户,找到这个用户,右键单击选择属性

拼多多API接口解析,实现根据ID取商品详情

拼多多是一个流行的电商平台,它提供了API接口供开发者使用。要根据ID获取商品详情,您需要使用拼多多API接口并进行相应的请求。以下是使用拼多多API接口根据ID获取商品详情的示例代码(使用Python编写):importrequestsimportjson#拼多多API接口地址api_url="https://api

【漏洞复现】易思智能物流无人值守系统文件上传

本文由掌控安全学院-江月投稿【产品介绍】易思无人值守智能物流系统是一款集成了人工智能、机器人技术和物联网技术的创新产品。它能够自主完成货物存储、检索、分拣、装载以及配送等物流作业,帮助企业实现无人值守的智能物流运营,提高效率、降低成本,为现代物流行业带来新的发展机遇。【漏洞描述】易思无人值守智能物流系统/Sys_Rep

热文推荐