为什么80%的码农都做不了架构师?>>>
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 服务器的 外网地址 , 用户 和 密码 。
说明:远程登录 Linux 系统 ECS 实例的详细步骤,请参考云中沙箱 帮助文档
2. 执行如下命令,安装 mysql 及其组件 mysql-server ,mysql-devel。
yum -y install mysql mysql-server mysql-devel
等待一分钟左右,页面显示 Complete! ,证明已完成 MySQL 的安装。
3. 输入如下命令,启动 mysql 数据库。当页面显示 Starting mysql [OK] ,表示 MySQL 已启动。
service mysqld start
4. 输入命令:mysql,进入 MySQL 数据库的命令页面,证明已经成功安装并运行 MySQL 数据库。
说明:默认 MySQL 数据库的密码为空,因此,可以通过 mysql 命令直接访问 MySQL 数据库。
5. 在 mysql 的命令行中,输入 exit ,页面提示 bye ,并退出 mysql 的命令页面。
6. 最后,执行如下命令,设置开机启动 mysql 。这样,用户在下次启动 ECS 服务器时,ECS 实例会自动运行 mysql 数据库,无需用户手动启动。
chkconfig mysqld on
7. 至此,完成 Mysql 的安装,下一小节将介绍 Mysql 的常用操作。
2.3 Mysql的常用操作
本小节将主要介绍 Mysql 的常用操作:修改密码、备份和还原等。
1. 执行如下命令,修改 mysql 数据库的登录密码。界面显示 Enter password ,需要输入 mysql 的初始密码。由于默认数据库密码为空,无需输入直接回车,成功修改数据库密码为 123456 。
mysqladmin -uroot -p password "123456"
2. 执行如下命令,界面显示 Enter password ,输入密码 123456 ,使用密码 123456 登录 Mysql。
注意:输入的密码不会在界面显示,确定输入正确后,直接回车就可以。
mysql -uroot -p
3. 执行如下命令,查看当前数据库列表。此时,可以看到三个数据库:information_schema ,mysql ,test 。
show databases;
注意:进入 mysql 之后,每条命令结尾都要有分号。
4. 执行命令 use mysql; ,连接 mysql 数据库。执行命令 show tables; ,查看 mysql 数据库中的数据表。使用命令 exit ,退出 MySQL 界面。
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 -uroot -p -Dtest
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 表名称 (列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....);
3. 执行命令 insert into test1 values(1,"zhangsan"); ,插入一条数据:此条数据的第一列 id 的值为1,第二列 name 的值为zhangsan。
语法:INSERT INTO 表名称 VALUES (值1, 值2,....);
4. 执行命令 select * from test1; ,查看 test1 表中的全部数据信息。此时,用户可以查看到新插入的一行数据: id 的值为 1 , name 的值为 zhangsan 。
语法1:SELECT * FROM 表名称; //查询表中的所有列的数据信息
语法2:SELECT 列名称 FROM 表名称; //查询表中的指定列的数据信息
5. 执行命令 update test1 set name = "lisi" where id =1; ,更新 test1 表中的数据,也就是,将所有 id 为 1 的 name 值均修改为 lisi 。
语法:UPDATE 表名称 SET 列名 = 值 WHERE 表名称 = 值;
6. 执行命令 delete from test1 where id =1; ,删除 test1 表中,所有 id 值为 1 的数据。
语法:DELETE FROM 表名称 WHERE 列名称 = 值;
7. 执行命令 drop table test1; 删除名为 test1 的数据表。
语法:DROP TABLE 表名称
8. 执行命令 drop database test; ,删除名为 test 的数据库。
语法:DROP DATABASE 数据库名称
9. 至此,完成基本的 SQL 语句讲解。