什么是数据

数据:文字、图片、视频。。。人类认知的数据表现方式
计算机:二进制、16进制的机器语言
基于数据的重要性和复杂性的不同,我们可能有不同的管理方式。

哪些数据是适合存储到数据库的呢?
重要性比较高的
关系较复杂的数据

什么是数据库管理系统(DBMS)

  • RDBMS: 关系型数据库管理系统
    比较适合于,安全级别要求高的数据以及关系较复杂的数据

  • NoSQL:非关系型数据库管理系统
    适合于高性能存取数据,一般是配合RDBMS进行使用的
    针对大数据处理分析,分布式架构更加擅长

数据库管理系统种类

  • RDBMS :

    • MySQL
    • Oracle
    • MSSQL(SQL Server)
    • PG
  • NoSQL:Not Only SQL

    • 键-值(key-value)
      • Redis
      • memcached
    • 文档(document)
      • Mongodb

MySQL二进制安装

创建软件目录和用户

1
2
3
4
5
6
7
8
9
10
# 创建mysql用户
useradd mysql -s /sbin/nologin
# 创建软件目录
mkdir -p /app/database
# 创建数据目录
mkdir -p /data/3306
# 创建日志目录
mkdir -p /binlog/3306
# 授予权限
chown -R mysql.mysql /data/ /app/ /binlog/

上传完软件解压

1
[root@MySQL01 database]$ ln -s mysql-8.0.20-linux-glibc2.12-x86_64 mysql

配置环境变量

1
2
3
[root@MySQL01 database]$ vim /etc/profile
export PATH=/app/database/mysql/bin:$PATH
[root@MySQL01 database]$ source /etc/profile

初始化

1
[root@MySQL01 database]$ mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql --datadir=/data/3306

5.7初始化方式
(1) mysqld –initialize
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
3.密码过期时间180天

5.6初始化区别

1
/application/mysql/scripts/mysql_install_db  --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql

若报错

1
2
3
报错原因: Linux系统中缺少libaio-devel 软件包
解决:
yum install -y libaio-devel

注释:5.6初始化的区别

1
/application/mysql/scripts/mysql_install_db  --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql

编写默认配置文件

1
2
3
4
5
6
7
8
9
10
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock

使用systemd管理mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

注意:将原来模式启动mysqld先关闭,然后再用systemd管理。

1
2
3
4
5
6
7
8
9
10
Description:描述服务
After描述服务类别
[Service]服务运行参数的设置
Type =forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp= True表示给服务分配独立的临时空间
注意: [Service]的启动、 重启、停止命令全部要求使用绝对路径
[Install)运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3