MySQL简介,安装,简单使用

MySQL  wiki

MySQL是世界上最广泛使用的开源关系型数据库(relational database management system),发布于1995年,由瑞典公司MySQLAB开发,现在由oracle公司所有,由c/c++实现,SQL的意思是Structured Query Language。

MySQL提供了多用户(multi-user)对一系列数据库的访问,提供了图形界面的,命令行界面的客户端,下面有命令行界面的介绍。MySQL是Web应用中非常流行的选择,LAMP架构中的M(Linux, Apache, MySQL, Python/php)

MySQL可以单台部署,也可以多服务器部署(muti-server deployment),但注意,就我的理解这里不是集群服务,因为这里是用一台强大的服务器做mater,其他做slave,master用来写,slaves用来读,每台server用同步机制进行同步。这个跟redis的master-slave机制一样,用配置文件去控制

 

安装 

在安装测试使用sphinxSearch(一个开源的full-index search engine)的时候,需要安装mysql做测试,就用如下方式安装了。

MySQL的安装可以从源码编译安装,也可以用linux的包管理系统。

首先我在我的云服务器上(ubuntu系统)用apt-get install安装mysql的server和client。

sudo apt-get install libmysqld-dev
sudo apt-get install mysql-client

安装server的过程中会提醒设置管理员root用户密码,推荐设置,root用户可以创建删除普通用户。

启动mysql server后,Linux下使用mysql client如下连接数据库

shell > mysql db_name    或   shell > mysql –user=user_name -p  db_name

-p 即 –password,像我的root用户就有密码,必须加上-p,不推荐在命令行上直接写出密码,只用-p,shell会提醒在下一行输入。

 

SQL  structured query language   wiki

sql是专门为操作关系型数据库而设计的编程语言,诞生于1984年,现在已经是ISO的标准,文件名以.sql结尾,sql包括了数据的插入,查询,更新,删除。也就是我们操作MySQL用的都是SQL语句,当然也可以直接执行一个.sql文件。

一个例子,在MySQL指定库中创建一个table并插入一些数据

mysql server在安装后,会有两个默认的database,mysql和test

下面是一个例子wy.sql, 其在test库中定义了一个名为articles的table,并且插入了一些数据

复制代码
 1 drop table if exists test.articles;
 2 create table test.articles
 3 (
 4     id        integer primary key not null auto_increment,
 5     group_id    integer not null,
 6     date_added    datetime not null,
 7     title        varchar(255) not null,
 8     content        text not null
 9 );
10 
11 insert into test.articles values
12     (1, 1, now(), 'doc one', 'this is my test document one ^_^'),
13     (2, 2, now(), 'doc two', 'this is my test document two ^_^'),
14     (3, 2, now(), 'spring' , 'sprint is beautiful^_^');
复制代码

我们给test库增加了一个articles表,这个table有5个field,并且插入了一些数据,执行这个wy.sql文件,使用如下mysql命令

mysql -p < wy.sql

现在用client去MySQL数据库中查看,可以发现这个table已经有了,且有我们插入的3条数据。

使用了三个命令

use test;  #使用test database
show tables; #显示选中库中所有table
select * from articles; #显示artibles table中的所有entry

标签