第一章 -- MySQL简介及安装

什么是数据库

数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作

数据库管理系统(DBMS)

  • RDBMS
    • 关系型数据库管理系统
    • 数据安全性要求较高的应用场景
    • Oracle/MySQL/MSSQL/PG
  • NoSQL
    • 非关系型数据库管理系统
    • 针对性能要求较高,数据安全性要求不太高的场景,一般是配合RDBMS使用的产品
    • Redis/mongo/ES
  • NewSQL
    • 分布式数据库管理系统
    • TiDB(PingCap)/Spannaer(Google)

MySQL 软件分支

  • Oracle MySQL
  • MariaDB
  • PerconaDB
  • 云数据库(RDS MySQL-阿里/腾讯DB....)

MySQL 企业版本选择

主流版本 发布时间
5.6.34 2016.10.02
5.6.38 2017.09.13
5.6.40 2018.02.26
5.7.22 2018.03.04
5.7.24 2018.10.04
5.7.26 2019.04.13

企业新环境的版本选择:
GA 版本 6-12月的产品,一般为偶数版

MySQL 二进制版本安装

  • 安装版本:MySQL 5.7.26
  • 操作系统:CentOS 7.6

下载并上传软件

[root@mysql ~]# mkdir -p /server/scripts
[root@mysql ~]# cd /server/scripts/
[root@mysql /server/scripts]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

解压

[root@mysql /server/scripts]# mkdir /application
[root@mysql /server/scripts]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql

处理原始环境

[root@mysql /server/scripts]# rpm -qa |grep mariadb	
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@mysql /server/scripts]# yum remove mariadb-libs.x86_64 -y	
## 卸载此软件或删除/etc/my.cnf 	否则会报错

创建用户

[root@mysql ~]# useradd -s /sbin/nologin mysql
[root@mysql ~]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)

设置环境变量(添加到尾部)

[root@mysql ~]# vim /etc/profile		
export PATH=/application/mysql/bin:$PATH
[root@mysql ~]# source /etc/profile
[root@mysql ~]# mysql -V	==> 检查是否生效
mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper

创建数据目录并授权

[root@mysql ~]# mkdir /data/mysql/data -p
[root@mysql ~]# chown -R mysql:mysql /data/
[root@mysql ~]# chown -R mysql.mysql /application/mysql/*

初始化数据(创建系统数据)

[root@mysql ~]# yum install -y libaio-devel
[root@mysql ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

编写配置文件

[root@mysql ~]# cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF

配置systemd管理(CentOS 7)

或者使用sysd启动方式
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@mysql ~]# cat >/etc/systemd/system/mysqld.service<<EOF
[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
EOF

启动数据库

[root@mysql ~]# systemctl start mysqld
[root@mysql ~]# systemctl enable mysqld
[root@mysql ~]# netstat -lntup |grep 3306	#查看是否启动成功

管理员密码设置

[root@db01 ~]# mysqladmin -uroot -p password 123456
Enter password: 	#==> 无密码,直接回车
原文地址:https://www.cnblogs.com/lpcsf/p/11983113.html