一、数据库管理系统
数据库管理系统DBMS是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。数据库管理系统分为RDBMS和NoSQL(Not only SQL)两类。
- RDBMS
关系型数据库管理系统,比较适合安全级别要求高的数据及关系较复杂的数据。常见RDBMS有MySQL、Oracle、MSSQL。- NoSQL
非关系型数据库,适合于高性能存取数据,一般是配合RDBMS进行使用,针对大数据处理分析,分布式架构更加擅长。
常见 NoSQL有:键- 值型存储Redis和文档型存储 MongoDB
二、MySQL简介
MySQL是一个中小型关系型数据库管理系统,适用于所有平台,是开源软件,版本更新较快,性能很出色,价格便宜。MySQL数据库优势如下:
- 可以处理拥有上千万条记录的大型数据
- 支持常见的SQL语句规范
- 可移植行高,安装简单小巧
- 良好的运行效率,有丰富信息的网络支持
- 调试、管理,优化简单(相对其他大型数据库)
常用的MySQL版本有:
- MySQL5.6 : 5.6.34 5.6.36 5.6.38 5.6.40
- MySQL5.7 : 5.7.18 5.7.20 5.7.24
三、MySQL安装
移除mariadb环境
rpm -qa |grep mariadb
yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y
解压软件
tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.20-linux-glibc2.12-x86_64 /application/mysql
设置环境变量
export PATH=$PATH:/application/mysql/bin
source /etc/profile
创建mysql用户
useradd -M -s /sbin/nologin mysql
创建数据存储目录和日志存储目录
mkdir -p /data/mysql/data
mkdir -p /data/mysql/log
mkdir -p /data/mysql/socket
创建mysql.log、mysql-bin和mysql.sock
touch /data/mysql/log/{mysql.log,mysql-bin}
touch /data/mysql/socket/mysql.sock
目录授权
chown -R mysql.mysql /application/mysql
chown -R mysql.mysql /data/mysql
编辑配置文件
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/data/mysql/socket/mysql.sock
log_error=/data/mysql/log/mysql.log
log_bin=/data/mysql/log/mysql-bin
server_id=6
port=3306
[mysql]
socket=/data/mysql/socket/mysql.sock
启动数据库
/application/mysql/support-files/mysql.server start
启动脚本
vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
设置开机自动启动
systemctl enable mysqld.service
设置数据库密码
set PASSWORD = PASSWORD('mysql');
管理授权
grant all privileges on . to 'root'@'%' identified by 'mysql' with grant option;