数据库管理系统介绍与mysql源码安装
数据库管理系统
数据库管理系统种类
1.RDBMS(关系型数据库)的特点
- 二维表
- 典型的产品Oracle传统企业,Msyql是互联网企业
- 数据存取通过SQL
- 最大特点,数据安全性方面强(ACID)
- 强大查询功能,强一致性,二级索引
2.NoSQL(非关系型数据库)的特点
- 不是否定关系型数据库,做关系型数据库的的补充。
- 灵活性,扩展性,性能
- 现在也在提升安全性和使用功能。
- 典型产品:Redis(持久化缓存)、MongoDB(最接近关系型数据的NoSQL)、Memcached
- 管理不适用SQL管理,而是用一些特殊的API或数据接口。
3.NoSQL的分类、特点、典型产品
- 键值(KV)存储:Memcached、Redis
- 列存储(column-oriented):HBASE(新浪,360)、Cassandra(200台服务器集群)
- 文档数据库(document-oriented):MongoDB(最接近关系型数据库的NoSQL)
- 图形存储(Graph):Neo4j
MySQL安装方式
1.RPM、Yum:安装方便、安装速度快,无法定制
2.二进制:不需要安装,解压即可使用,不能定制功能
3.编译安装:可定制,安装慢。
- 5.5之前:./configure make makeinstall
- 5.5之后:cmakegmake
4.先编译,然后制作rpm,制作yum库,然后yum安装
- 简单、速度快、可定制,比较复杂制作时间长
企业选择安装方式
- 中小企业:以上方式都可以,运维偏向编译,dba偏向选择二进制。
- 大型企业:可以选择4
MySQL源码安装
1.安装依赖
yum install -y ncurses-devellibaio-devel
2.安装cmake
yum install cmake–y
3.新建mysql用户
useradd-s /sbin/nologin-M mysql
4.下载mysql安装包
wget https://downloads.mysql.com/archives/get/file/mysql-5.6.42.tar.gz
5.解压
tar xf mysql-5.6.42.tar.gz
6.使用cmake编译
cd mysql-5.6.42/
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.42 \
-DMYSQL_DATADIR=/application/mysql-5.6.42/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.42/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
#进行安装
make && make install
7.进行配置并启动mysql
#制作软链接
ln -s /application/mysql-5.6.42/ /application/mysql
#拷贝配置文件到/etc
cp support-files/my-default.cnf /etc/my.cnf
#初始化数据库
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql
#创建关键目录并设置权限:
mkdir -p /application/mysql/tmp
chown -R mysql.mysql /application/mysql/
#复制启动脚本到/etc/init.d/mysqld
cp support-files/mysql.server /etc/init.d/mysqld
#启动数据库
/etc/init.d/mysqld start
#配置环境变量
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
source /etc/profile
#设置密码:
mysqladmin -uroot password 'oldboy123'
mysql-uroot -poldboy123
8.安装完后清理用户及无用数据库(基本优化)
select user,hostfrom mysql.user;
drop user ''@'db02';
drop user ''@'localhost';
drop user 'root'@'db02';
drop user 'root'@'::1';
select user,hostfrom mysql.user;
drop database test;
show databases;