1.1 背景知识

业务背景

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

技术背景

与其他的大型数据库例如:Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。

Linux 作为操作系统,Apache 和 Nginx 作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为 LAMP 或 LNMP 组合。

2.2 MySQL安装

1. 远程登录到 MySQL 的 ECS 服务器,请使用本实验提供的 ECS 服务器的 外网地址 , 用户 和 密码 。(我使用CRT登陆的,在Linux学习笔记里有安装教程)
2. 执行如下命令,安装 mysql 及其组件 mysql-server ,mysql-devel。

//安装
yum -y install mysql mysql-server mysql-devel

3. 输入如下命令,启动 mysql 数据库。当页面显示 Starting mysql [OK] ,表示 MySQL 已启动。

//启动MySQL
service mysqld start

4. 输入命令:mysql,进入 MySQL 数据库的命令页面,证明已经成功安装并运行 MySQL 数据库。

//进入MySQL
mysql

说明:默认 MySQL 数据库的密码为空,因此,可以通过 mysql 命令直接访问 MySQL 数据库。
5. 在 mysql 的命令行中,输入 exit ,页面提示 bye ,并退出 mysql 的命令页面。

exit

6. 最后,执行如下命令,设置开机启动 mysql 。这样,用户在下次启动 ECS 服务器时,ECS 实例会自动运行 mysql 数据库,无需用户手动启动。

//设置ECS自动启动
chkconfig mysqld on

7. 至此,完成 Mysql 的安装,下一小节将介绍 Mysql 的常用操作。

2.3 Mysql的常用操作

本小节将主要介绍 Mysql 的常用操作:修改密码、备份和还原等。

1. 执行如下命令,修改 mysql 数据库的登录密码。界面显示 Enter password ,需要输入 mysql 的初始密码。由于默认数据库密码为空,无需输入直接回车,成功修改数据库密码为 123456 。

//修改MySQL密码
mysqladmin -uroot -p password "123456"

2. 执行如下命令,界面显示 Enter password ,输入密码 123456 ,使用密码 123456 登录 Mysql。

注意:输入的密码不会在界面显示,确定输入正确后,直接回车就可以。

//登陆MySQL
mysql -uroot -p

3. 执行如下命令,查看当前数据库列表。此时,可以看到三个数据库:information_schema ,mysql ,test 。

注意:进入 mysql 之后,每条命令结尾都要有分号。

//查看数据库
show databases;

4. 执行命令 use mysql; ,连接 mysql 数据库。执行命令 show tables; ,查看 mysql 数据库中的数据表。使用命令 exit ,退出 MySQL 界面。

//连接数据库
use mysql;
//显示表
show tables;
//退出
exit

5. 返回 Linux 界面,执行如下命令,将名为 test 的数据库备份到当前目录的 test.sql。界面显示 Enter password ,输入 MySQL 数据库的登录密码 123456 。根据备份的数据库大小,等待时间长短不同。完成后,使用命令 ll 查看备份文件,界面查看到备份文件 test.sql ,完成备份。

//备份数据库到文件
mysqldump -uroot -p test >test.sql

7. 返回 Linux 界面,执行如下命令,将 test.sql 导入数据库。界面显示 Enter password ,输入 MySQL 数据库的登录密码 123456 。

说明:其中参数 -D 是指定数据库为test。

//将数据库导入MySQL中
mysql -uroot -p -Dtest<test.sql

8. 还有一种导入方法:输入命令: mysql -uroot -p123456 ,进入 MySQL 数据库。输入 use test; ,连接数据库 test ,输入 source /root/test.sql; ,将 test.sql 导入数据库 test ,全部出现 Query OK ,则表示数据库导入成功。

9. 至此,完成 Mysql 的日常操作讲解,下一小节将介绍基本的 SQL 语句。

2.4 基本的SQL语句

本小节将主要介绍基本的 SQL 语句,数据的增删查改等。

1. 若当前不是在 Mysql 数据库的命令界面,请执行命令:mysql -uroot -p123456 ,登录到 Mysql 数据库命令行界面。否则,请忽略此操作。
然后,在Mysql中,执行命令 use test; ,连接 test 数据库。界面提示 Database changed ,表示现在使用的数据库为 test 数据库。

2. 执行命令 create table test1 (id int,name char(20)); ,创建一张表,表名为 test1 。test1 表有两列:id 和 name。其中,id 的数据类型为 int,name 的数据类型为 char,且字符长度为 20。

说明:mysql 命令执行完成,页面会提示 Query OK 。

create table test1 (id int,name char(20));
语法:CREATE TABLE 表名称 (列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....);

3. 执行命令 insert into test1 values(1,"zhangsan"); ,插入一条数据:此条数据的第一列 id 的值为1,第二列 name 的值为zhangsan。

insert into test1 values(1,"zhangsan");
语法:INSERT INTO 表名称 VALUES (值1, 值2,....);

4. 执行命令 select * from test1; ,查看 test1 表中的全部数据信息。此时,用户可以查看到新插入的一行数据: id 的值为 1 , name 的值为 zhangsan 。

select * from test1;
语法1:SELECT * FROM 表名称; //查询表中的所有列的数据信息
语法2:SELECT 列名称 FROM 表名称; //查询表中的指定列的数据信息

5. 执行命令 update test1 set name = "lisi" where id =1; ,更新 test1 表中的数据,也就是,将所有 id 为 1 的 name 值均修改为 lisi 。

update test1 set name = "lisi" where id =1;
语法:UPDATE 表名称 SET 列名 = 值 WHERE 表名称 = 值;

6. 执行命令 delete from test1 where id =1; ,删除 test1 表中,所有 id 值为 1 的数据。

delete from test1 where id =1;
语法:DELETE FROM 表名称 WHERE 列名称 = 值;

7. 执行命令 drop table test1; 删除名为 test1 的数据表。

drop table test1;
语法:DROP TABLE 表名称

8. 执行命令 drop database test; ,删除名为 test 的数据库。

drop database test;
语法:DROP DATABASE 数据库名称

9. 至此,完成基本的 SQL 语句讲解。

云中沙箱学习笔记1-快速部署并使用MySQL数据库的更多相关文章

  1. 云中沙箱学习笔记2-ECS之初体验

    1.1 背景知识 云服务器(Elastic Compute Service, 简称ECS),是一种简单高效,处理能力可以弹性伸缩的计算服务.ECS的相关术语说明如下: --实例(Instance):是 ...

  2. PHP学习笔记——PHP脚本和JAVA连接mysql数据库

    环境 开发包:appserv-win32-2.5.10 服务器:Apache2.2 数据库:phpMyAdmin 语言:php5,java 平台:windows 10 java驱动:mysql-con ...

  3. OGG学习笔记04-OGG复制部署快速参考

    OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27 目标端:Oracle 10.2.0.5 ...

  4. ActionBarSherlock学习笔记 第一篇——部署

    ActionBarSherlock学习笔记 第一篇--部署          ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...

  5. Django RF:学习笔记(8)——快速开始

    Django RF:学习笔记(8)——快速开始 安装配置 1.使用Pip安装Django REST Framework: pip install djangorestframework 2.在Sett ...

  6. [学习笔记]NTT——快速数论变换

    先要学会FFT[学习笔记]FFT——快速傅里叶变换 一.简介 FFT会爆精度.而且浮点数相乘常数比取模还大. 然后NTT横空出世了 虽然单位根是个好东西.但是,我们还有更好的东西 我们先选择一个模数, ...

  7. 【学习笔记】快速傅里叶变换(FFT)

    [学习笔记]快速傅里叶变换 学习之前先看懂这个 浅谈范德蒙德(Vandermonde)方阵的逆矩阵的求法以及快速傅里叶变换(FFT)中IDFT的原理--gzy hhh开个玩笑. 讲一下\(FFT\) ...

  8. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  9. MVC学习笔记(三)—用EF向数据库中添加数据

    1.在EFDemo文件夹中添加Controllers文件夹(用的是上一篇MVC学习笔记(二)—用EF创建数据库中的项目) 2.在Controllers文件夹下添加一个空的控制器(StudentsCon ...

随机推荐

  1. nginx 重写

    rewrite指令可在 server 块或者 location 块中配置. 语法: rewrite regex replacement [flag]; 1.rewrite 接收的 uri 不包含 ho ...

  2. jmeter性能工具 之 cookie 管理器 (二)

    上一篇主要介绍了jmeter 的基本使用方法,编写了登陆脚本,这一篇在登陆基础上,进行充值操作. 问:什么时候需要用到cookied 管理器? 答:需要登陆信息时,如果充值,提现,淘宝的下单,添加到购 ...

  3. 自定义日志注解 + AOP实现记录操作日志

      需求:系统中经常需要记录员工的操作日志和用户的活动日志,简单的做法在每个需要的方法中进行日志保存操作, 但这样对业务代码入侵性太大,下面就结合AOP和自定义日志注解实现更方便的日志记录   首先看 ...

  4. linux常用基本命令 grep awk 待优化

    查看centos操作系统版本:cat /etc/centos-release 切换到当前用户主目录:cd 或者cd ~ 创建文件夹/a/b/c:mkdir -pv /a/b/c.如果/a/b/c的父目 ...

  5. BZOJ 3879: SvT 虚树 + 后缀自动机

    Description (我并不想告诉你题目名字是什么鬼) 有一个长度为n的仅包含小写字母的字符串S,下标范围为[1,n]. 现在有若干组询问,对于每一个询问,我们给出若干个后缀(以其在S中出现的起始 ...

  6. 给数据库用户授权(对象多为系统表,如dba可以查看的表)

    我们知道,创建一个新用户时,网上各种的帖子包括书籍中经常用到一个grant connect,resource to user;,这样才能用这个用户登录数据库,那么这条语句的真正作用是什么呢? 首先,g ...

  7. 牛客网暑期ACM多校训练营(第五场) F - take —— 期望+树状数组+逆元

    看到一篇好的博客特意转出来观摩大佬:转:https://blog.csdn.net/greybtfly/article/details/81413526 题目大意:给n个箱子排成一排,从头到尾按顺序依 ...

  8. python2.7+RobotFramework的UI自动化环境搭建

    robotFramework是一种比较常见的自动化测试框架,此篇记录环境搭建 目录 1.软件准备 2.执行安装 1.软件准备 python-2.7.15.amd64.msi              ...

  9. 在reshard过程中,将会询问reshard多少slots:

    How many slots do you want to move (from 1 to 16384)?,取值范围为1~16384,其中16384为redis cluster的拥有的slots总数, ...

  10. 精讲 org.w3c.dom(java dom)解析XML文档

    org.w3c.dom(java dom)解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会 ...