简单的说数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构来组织存储的,我们可以通过数据库提供的多种方法来管理其中的数据

NoSQL 本意是 Not Only SQL 即不仅仅是关系型数据库 因此NoSQL的产生并不是要彻底否定关系型数据库,而是作为传统关系型数据库的一个有效补充

非关系型数据库的种类
1、key-value
键值数据库就类似传统语言中使用的哈希表,可以通过key来添加 查询 或者删除数据 因为使用key主键访问,所以会获得很高的性能及扩展性
键值数据库主要是使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据,优势:简单 易部署  高并发

典型产品:memcached redis

列存储数据库
列存储数据库将数据存储在列族中

典型产品:cassandra  HBase

面向文档数据库
数据以文档的形式存储,每个文档都是自包含的数据单元,是一系列数据项的集合

典型产品:mongodb


MySQL安装方法
1、rpm包
2、常规方式编译mysql
3、cmake编译安装mysql
4、二进制方式免编译安装mysql

数据库安装  (centos6.7)
[root@example tools]# yum install cmake -y
依赖包
yum install ncurses-devel -y

创建用户
useradd mysql -s /sbin/nologin -M
[root@example tools]# tar xf mysql-5.5.32.tar.gz 
[root@example tools]# cd mysql-5.5.32
[root@example tools]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
-DMYSQL_DATADIR=/application/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
[root@example mysql-5.5.32]# make && make install
[root@example mysql-5.5.32]# ln -s /application/mysql-5.5.32/ /application/mysql
[root@example mysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf
[root@example mysql-5.5.32]# chown -R mysql.mysql /application/mysql/
[root@example mysql-5.5.32]# chmod -R 1777 /tmp/
[root@example mysql-5.5.32]# cd /application/mysql/scripts/
[root@example scripts]# ./mysql_install_db --basedir=/application/mysql/  --datadir=/application/mysql/data/ --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/application/mysql//bin/mysqladmin -u root password 'new-password'
/application/mysql//bin/mysqladmin -u root -h centos03 password 'new-password'
Alternatively you can run:
/application/mysql//bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /application/mysql/ ; /application/mysql//bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /application/mysql//mysql-test ; perl mysql-test-run.pl
Please report any problems with the /application/mysql//scripts/mysqlbug script!

[root@centos03 scripts]# cp /tools/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
[root@centos03 scripts]# chmod +x /etc/init.d/mysqld
[root@centos03 scripts]# /etc/init.d/mysqld start
Starting MySQL.... SUCCESS! 
[root@centos03 scripts]# lsof -i :3306
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  14177 mysql   10u  IPv4  52218      0t0  TCP *:mysql (LISTEN)

添加环境变量
[root@centos03 scripts]# echo "export PATH=/application/mysql/bin:$PATH"  >> /etc/profile
[root@centos03 scripts]# source /etc/profile
[root@centos03 scripts]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> select user,host from mysql.user;  
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1       |
|      | centos03  |
| root | centos03  |
|      | localhost |
| root | localhost |
+------+-----------+
6 rows in set (0.00 sec)
mysql> delete from mysql.user where user='';   #删除用户名是空的用户
Query OK, 2 rows affected (0.00 sec)
mysql> select user,host from mysql.user;    
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1       |
| root | centos03  |
| root | localhost |
+------+-----------+
4 rows in set (0.00 sec)

mysql> delete from mysql.user where host='centos03';
Query OK, 1 row affected (0.00 sec)
mysql> delete from mysql.user where host='::1';     
Query OK, 1 row affected (0.00 sec)
mysql> select user,host from mysql.user;            
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)
mysql> drop database test;
Query OK, 0 rows affected (0.03 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
[root@centos03 scripts]# mysqladmin -u root password '123456'    #为root账户设置密码123456   
[root@centos03 scripts]# mysql -uroot -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.32 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
[root@centos03 scripts]# chkconfig mysqld on


简单截图下安装的过程

MySQL基础入门之MySQL5.5编译安装_第1张图片



MySQL基础入门之MySQL5.5编译安装_第2张图片


MySQL基础入门之MySQL5.5编译安装_第3张图片