数据库类型
是实现对数据库资源有效组织、管理和存取的系统软件
功能:数据库的建立和维护功能、数据定义功能、数据操控功能、数据库的运行管理功能、通信功能
(项目架构,不只是服务还可以有一些通用的管理系统比如BOSS CRM OA)
是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成
用户可以通过DBMS或应用程序操作数据库
1.SQL Server (微软公司产品)
面向Windows操作系统
简单、易用
2.Oracle (甲骨文公司产品)
面向所有主流平台
安全、完善、操作复杂
3.DB2 (IBM公司产品)
面向所有主流平台
大型、安全、完善
4.MySQL (甲骨文公司收购)
免费、开源、体积小
(marisdb)
5.sybase
关系型数据库:适用于对关系很明确的数据建立模型,定义,储存数据
1.关系数据库系统是基于关系模型的数据库系统
2.关系模型的数据结构使用简单易懂的二维数据表
每一行称为一条记录,用来描述一个对象的信息
每一列称为一个字段,用来描述对象的一个属性
3.关系模型可用简单的"实体-关系-属性"来表示
== 所有实体及实体之间联系的集合构成一个关系数据库==
如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性
储存海量数据,给与“大数据”进行分析,筛选出有价值的部分
MongoDB,Redis(内存数据库/缓存数据库)K-V键值对,与之类似的Memcache,K-V键值对
redis 和 memecache对比:
1.非关系数据库也称为NoSQL (Not Only SQL)
2.存储数据不以关系模型为依据,不需要固定的表格式
3.非关系型数据库的优点
4.补充:redis 持久化方式
以键值存储数据数据保存在内存中,但会定期将数据写入磁盘(持久化方式)
高德:实时分析平台
使用非关系型数据库存储,如果需要持续化,就可以使用redis
一款深受欢迎的开源关系型数据库
Oracle旗下的产品
遵守GPL协议,可以免费使用与修改
特点:
数据库日志文件用于备份,恢复,是最核心的部分
1.mysql与oracle日志的区别
myisam和innodb
1.准备安装包:
[root@localhost nginx-1.12.2]# cd /mnt
[root@localhost mnt]# ls
nginx-1.12.2.tar.gz
[root@localhost mnt]# rz
[root@localhost mnt]# ls
mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz
2.解压:
tar xzvf mysql-boost-5.7.20.tar.gz -C /opt
3.安装环境包:
yum install ncurses ncurses-devel bison cmake autoconf -y
4.创建用户:
useradd -s /sbin/nologin mysql
5.安装编译:
cd /opt/mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
make && make install
6.对mysql的数据目录进行权限调整:
chown -R mysql:mysql /usr/local/mysql
7.调整配置文件参数
vim /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
8.设置环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
9.声明为全局变量
echo 'export PATH' >> /etc/profile
10.启动文件
source /etc/profile
11.初始化数据库
cd /usr/local/mysql/bin
mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
12.使用systemctl工具来进行服务控制
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /lib/systemd/system/
13.开启mysql服务,进行验证
systemctl restart mysqld.service
netstat -ntap | grep 3306
14.设置mysql数据库的密码,并登录:
mysqladmin -u root -p password "123"
mysql -u root -p