一、數據庫管理系統
數據庫管理系統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;