在程序员这个群体中,多数人是从事应用开发,在应用开发中一定会跟数据打交道。很多程序员入门学习就是Mysql数据库,它不仅仅是找工作面试最常问的,也是干私活必备的数据库。当然在如今数字基建的背景下,云数据库应运而生,这是对开发人员很友好的一个存在,作为开发时不用过多关注数据库怎么搭建维护,只需要以最简单的方式使用好数据库,从而可以专注于应用的开发。

那么今天我就分享一下以自建Mysql数据库和云数据库的区别和使用,供学习工作参考使用。

【MySQL】

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。开源,免费。 世界上最流行的开源数据库系统,功能足够强大,足以应付web应用。使用C和C++编写,支持包括window,linux 在内的等多种操作系统上运行。支持多线程,充分利用CPU资源。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。【来源百度百科】

【裸机linux搭建MySQL数据库】

前提:linux机器可以自己用VM创建一个虚拟机,但是我更推荐直接去华为云市场撸一台,毕竟828的福利不能错过。

本来我想用

现在就直接上手撸命令

1.找到mysql数据库yum源

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.安装升级软件包

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

2.1查看yum源是否生效

yum repolist enabled | grep mysql

3.yum安装mysql  安装过程中需要下载时间比较长 (这个过程我用了一个多小时)

yum install mysql-community-server

中间提示选择y

4.服务启动

service mysqld start

4.1查看mysql服务

service mysqld status

5.查看初始密码(5.7默认不允许使用空密码登录)

cat /var/log/mysqld.log | grep 'A temporary password'

6.使用初始密码登录mysql

注意 u 和p 后面不能加空格,否则报错

mysql -uroot -p'临时密码'

登录完成后现在你做什么操作都会有下面的提示

You must reset your password using ALTER USER statement before executing this statement (使用数据库前必须重置密码)

7.修改初始密码(以下都是在数据库中操作,不是在linux 系统中。以mysql>开头的命令行操作)

密码为强密码

要求包含大小写字母、数字及特殊字符,长度在6位以上

ALTER user 'root'@'localhost' identified by 'Mlscoder@123.';

7.1 以后就可以使用新密码登录

mysql -uroot -p'Mlscoder@123.'

9.开启远程登录 mysql 默认只能本地localhost登录,增加远程登录的权限 (方便使用navicat等工具远程链接)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Mlscoder@123.' WITH GRANT OPTION;

9.1查看当前用户的相关信息

select User,Host,authentication_string from user;

10.创建数据库

create database myuser;

使用数据库

use myuser;

查看当前数据库中的所有表

show tables ;

11.创建表

create  table user (

id  int (10) not null AUTO_INCREMENT comment  'id',

name varchar (100) comment '姓名',

age int (3) comment '年龄',

address varcahr(255) comment '地址',

PRIMARY key (id)

)DEFAULT CHARSET=utf8mb4  comment  '用户信息表' ;

11.1 查看表结构

desc user ;

12.表中插入数据

insert into user (id,name,age,address ) values (1,'张三',20,'上海市浦东新区') ;

12.1 查看表数据

select * from user ;

12.2 不指定id插入数据,在创建表DDL中,AUTO_INCREMENT 表示主键自增。

insert into user (name ,age ,address)  values ('李四',25,'上海市徐汇区');

select  * from user;

当然很少人会这样用数据库,即便是大佬,也是使用navicat、toad、PL/SQL等等一系列的数据库管理工具,当然一些并不是免费的。

整完了自己搞的,我们上手做一个云数据库吧,体验一把什么叫上云,也是拿华为云RDS来演示使用。

【华为云数据库RDS是啥】

华为云关系型数据库(Relational Database Service,简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。通过华为云关系型数据库服务的管理控制台,用户几乎可以执行所有必需任务而无需编程,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。创建RDS实例后,您可以通过多种方式连接实例,连接后可以进行数据导入导出,以及创建数据库和帐户等操作。

行了废话不多说了,动手直接搭建一下。

前后从创建到可以使用也就2分钟,比起自己下载来快多了,其实也是依托着镜像容器来处理的,一个数据库实例放在一个容器中,这个在深一点就是高级运维工程师需要做的内容,容器集群的管理。

华为云的web在线数据管理页面感觉还是很大气的

然后我也是同样的新建一个user表,在操作mysql的数据库的时候都是执行的DDL或者DML语句,不管是在线管理还是客户端工具,可以协助生成SQL语句,不过像这种创建表的语句还是可以的设置的, 但是复杂的查询语句还是需要自己来写。

SQL的中文名叫结构化查询语言(Structured Query Language),不管是mysql、oracle还是sql server 都是用sql来搞。

换句话说, sql 跟Java、Python一样,也是一个语言。

通过生成的DDL语句,来执行操作,这个也比较简单。

但是让我比较中意的功能是SQL诊断和慢查询日志

我用之前做的一个项目的demo来演示一下什么叫SQL诊断。从我的本地库中导入云数据库一个数据库,因为是这个开发库,毕竟生产生的数据有些敏感,这里仅仅演示功能使用。

目标:用华为云数据库诊断一下我们上面的这个SQL 是否存在性能问题,以方便我们开发有针对性的优化这个问题哦

先把数据库结构和数据导入

之后进入到刚刚导入的库中,打开SQL 性能诊断,复制上刚刚的sql语句,提交诊断,很快就可以得到诊断结果。

看下图的相关结果:

在诊断结果中,有比较详细的优化的建议,简直是神器。

除此之外还有一个就是慢查询日志,这个功能在云DBA中,需要开启DAS收集慢日志的功能。

不过由于本身没有太多的生产数据,仅仅做下演示了。在日志收集上除了收集慢查询,还可以增加一下热点点击,比如像知道那个功能使用的多,那个查询最频繁,知道用户的用为,反馈到运营上,更有针对的对产品做出优化。

【总结】

在使用和操作上,云数据库在快速搭建上有着不可比拟的优势,主要是依托于镜像容器的解决方案实现秒级搭建,从设置到使用,前后不过1分钟,极大的减少了开发人员的在数据库上搭建的时间。其次便捷的web操作界面、SQL诊断、慢查询日志等在分析,为企业级别开发也是如虎添翼。同时,减少了自购服务器的繁琐和成本,本身具有的弹性伸缩的特点,保障了日后业务增长可能需要的快速扩容,成为企业用户或者个人开发者的一个不错的选择。

自建mysql和华为云mysql_自建数据库和云数据库区别和使用(以MySQL为例)相关推荐

  1. c 访问阿里云mysql_本地怎样访问阿里云mysql数据库服务器

    全网最新活动请看下方内容或右侧内容! --------------- 本地怎样访问阿里云mysql数据库服务器,在阿里云上放数据库. 对于大多数小型或初期项目来说,我们可能常用的做法是先将web.数据 ...

  2. 无法连接腾讯云mysql_本地连接腾讯云Mysql失败问题

    腾讯云主机中MySQL无法远程连接的解决办法 在远程主机上,我开启了 mysql服务,用 phpmyadmin 可以打开,比如说用户名为 root,密码为 123456.不过用 Mysql 客户端远程 ...

  3. 以云数据库MySQL为例深入分析对比:华为云更安全还是腾讯云更安全?

    前言 日新月异的今天,互联网,云计算已经被广泛的应用到生活的方方面面上.对个人而言,我们时时刻刻都需要从网络获取信息,在网上冲浪.而对于企业而言,数据上云,应用上云已经成了一个不可逆的趋势. 而华为云 ...

  4. MySQL与CVM自建数据库优势_UCloud云数据库MySQL产品优势及与自建数据库对比

    前文,我们了解过UCloudy优刻得云数据库活动<云数据库有什么用?UCloud海外MySQL云数据库促销最低5折>,以及产品介绍<什么是云数据库?云数据库机型版本和产品架构介绍&g ...

  5. UCloud云数据库MySQL产品优势及与自建数据库对比

    UCloud云数据库MySQL产品优势及与自建数据库对比 前文,我们了解过UCloudy优刻得云数据库活动<云数据库有什么用?UCloud海外MySQL云数据库促销最低5折>,以及产品介绍 ...

  6. 华为云mysql怎么玩_7天搞定MySQL!华为云新推精品课程了解一下

    众所周知,MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),因为其速度.可靠性和适应性而备受关注,MySQL规模小,功能有限,但是它体积小.速度快.成本低,且它提供的功能对稍微复杂的应用 ...

  7. mysql精品课程网_7天搞定MySQL!华为云新推精品课程了解一下

    众所周知,MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),因为其速度.可靠性和适应性而备受关注,MySQL规模小,功能有限,但是它体积小.速度快.成本低,且它提供的功能对稍微复杂的应用 ...

  8. 腾讯云安装mysql_详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题

    背景: 今天才申请了腾讯云+校园计划的1元服务器,安装了Centos7.0,在安装MySQL的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下: [ro ...

  9. 腾讯云 yum mysql_详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题

    背景: 今天才申请了腾讯云+校园计划的1元服务器,安装了Centos7.0,在安装MySQL的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下: ?[r ...

最新文章

  1. 编码能力的提升?_20131228
  2. C++语言基础 例程 文本文件的读写
  3. python中的json注意事项
  4. eclipse注释日期格式修改
  5. [vue] axios是什么?怎样使用它?怎么解决跨域的问题?
  6. 前端学习(1043):回车把数据存储到本地存储里面
  7. html响应式五栏布局,HTML – 响应式2列CSS布局,包括固定宽度的侧边栏?
  8. 红橙Darren视频笔记 手写ButterKnife(Android Studio4.2.2 gradle-6.7.1 )
  9. Python bcrypt 加密验证密码
  10. Perl语言必看书籍推荐
  11. matlab实现移位寄存器,Matlab移位寄存器的实现
  12. Autel Maxisys Elite Common FAQs
  13. Java耗时打印工具类
  14. Appium+python自动化(六)- 连接模拟器并启动淘宝APP(超详解)
  15. 设计一个学生类Student
  16. CCS 修改字体大小
  17. 学习opencv.js(1)图像入门
  18. excel切片器_大部分人都不知道Excel切片器还能这么用,建议收藏
  19. 记一次生产大对象导致的OOM让架构师连夜排查解决
  20. 2 Robotics: Computational Motion Planning 第2+3+4周 课后习题解答

热门文章

  1. mac txt 换行符_推荐两款免费的网页代码编辑器(Win和Mac系统)
  2. 生信分析-PS修改坐标
  3. 临床基因组学数据分析实战助力解析Case,快速发表文章
  4. MPB:北林张静等-丛枝菌根真菌(AMF)孢子、菌丝密度及侵染率定量测定方法
  5. 211.Alpha多样性箱线图(样章,11图2视频)
  6. 研究生,导师不是你的保姆……
  7. Nature子刊:南土所贾仲君组-稻田甲烷氧化的微生物机制
  8. 微生物常见20种培养基配方
  9. Annu. Rev. Genet:植物微生物组——系统性见解与展望
  10. linux基于此语言的密码,一次有趣的Linux下.Net Core与C语言的合作开发体验:生成Linux标准的用户密码串...