当前位置: 首页 > news >正文

华为云HECS安装docker并安装mysql

1、运行安装指令

yum install docker

都选择y,直到安装成功

 2、查看是否安装成功

运行版本查看指令,显示docker版本,证明安装成功

docker --version

3、启用并运行docker

3.1启用docker指令

systemctl enable docker

3.2 运行docker指令

systemctl start docker

4、拉取镜像并查看(以mysql为例)

4.1 拉取mysql5.7的镜像

docker pull mysql:5.7

 4.2查看镜像

docker images

 或(带mysql关键字过滤)

docker images | grep mysql

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

5.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:镜像名和版本,如果这个镜像不存在会自动下载镜像。

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

docker ps | grep mysql

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

5.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

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

docker restart mysql

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

docker update mysql --restart=always

5.6.重启mysql

docker restart mysql

6、进入容器

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

docker exec -it 8cbca6e62b09 /bin/bash

或者

docker exec -it mysql /bin/bash

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

7、mysql操作

7.1进入mysql

mysql -uroot -p

 输入密码,进入mysql

7.2 库表操作

#创建db01库CREATE DATABASE db01;
#进入db01库use db01;
#创建表t1CREATE 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;

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

7.3 查看创建的库表

navicat登录mysql    

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

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

   

http://www.lryc.cn/news/169870.html

相关文章:

  • MQ - 04 基础篇_存储_消息数据和元数据的存储设计
  • JavaScript:隐式转换、显示转换、隐式操作、显示操作
  • 2023全新TwoNav开源网址导航系统源码 | 去授权版
  • Android 12 源码分析 —— 应用层 六(StatusBar的UI创建和初始化)
  • 华为云ROMA Connect亮相Gartner®全球应用创新及商业解决方案峰会,助力企业应用集成和数字化转型
  • 虚拟线上发布会带来颠覆性新体验,3D虚拟场景直播迸发品牌新动能
  • Linux arm64 pte相关宏
  • MVCC:多版本并发控制案例分析(一)
  • 以数据为中心的安全市场快速增长
  • AUTOSAR汽车电子嵌入式编程精讲300篇-经典 AUTOSAR 安全防御能力的分析及改善(下)
  • AI绘图提示词Stable Diffusion Prompt 笔记
  • xml元素值需要保留space
  • Eclipse开源代码下载
  • python多线程、进程
  • Vue基础之模板语法介绍
  • 【SLAM】 前端-视觉里程计之特征点
  • Android笔记(二十九):利用python自动生成多语言
  • 【C++STL基础入门】list的运算符重载和关于list的算法
  • 查找内轮廓(孔洞)
  • Git(6)——GitHub
  • 【RocketMQ专题】快速实战及集群架构原理详解
  • [设计模式] 浅谈SOLID设计原则
  • 基于Java+SpringBoot+Vue的旧物置换网站设计和实现
  • Java基本语法2
  • 【数据结构】树的存储结构;树的遍历;哈夫曼树;并查集
  • CSS选择器练习小游戏
  • Python运算符、函数与模块和程序控制结构
  • 微服务保护-Sentinel
  • Doris 导出表结构或数据
  • SELECT * from t_user where user_id = xxx,可以从那几个点去优化这句sql