1. 数据库介绍
数据库的特点:
数据结构化
共享性高 冗余度低 易扩充
独立性高
数据有DBMS统一管理和控制
2.数据库分类
RDBMS 关系型数据库
oracle
mysql
mssql
PG
NoSQL 非关系型数据库
mongoDB
ES
redis
云数据库、
3. mysql安装
安装方式:通用二进制版, 解压即可
版本:5.7
安装环境:centos7
(1)环境准备
1)准备虚拟机
ip:192.168.209.11/24 hostnane db01
2) 清理历史环境
[root@db01 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[root@db01 ~]# yum remove mariadb-libs 清理环境
3)创建用户和组
[root@db01 ~]# useradd mysql -s /sbin/nologin
[root@db01 ~]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
4)创建相关目录
mysql有2个目录:(在生产环境下,数据和软件要分开不要放在一个磁盘上)
软件目录:
mkdir -p /app/
数据目录 :
mkdir -p /data/mysql
创建日志:
mkdir -p /binlog/
5)设置权限
chown -R mysql:mysql /app/ /data/ /binlog/
(2 )上传并解压mysql软件
cd /app/
tar zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
解压后因为文件太长所以做个软连接
ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
(3) 设置环境变量
cd mysql
给mysql下面所有文件的属组和属主设置为为mysql、
chown -R mysql. *
support-files/里面存放的是日志
vim /etc/profile
添加一行:
export PATH=/app/mysql/bin:$PATH
生效配置:
source /etc/profile
[root@db01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using EditLine wrapper # 配置成功### 3.4 初始化数据系统库表
mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/
(4) 初始化数据库
先下载这个,不然初始化会失败
#yum install -y libaio-devel
5.7 版本 初始化时,有2种格式:
(1)mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql
1、初始化完成以后,会在最后一行出现12位临时密码,但是使用前必须要重置
2、密码使用严格:密码复杂度3中
(2)mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql
(空密码)
5.6版本初始化方式:
/app/database/mysql/scripts/mysql_install_db --user=mysql --basedir=/app/database/mysql --datadir=/data/3306
(5) 配置文件设置
cat > /etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
(6)准备mysql的启动脚本
cd /app/mysql/support-files/
#拷贝mysql的启动脚本至系统软件管理目录中
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld #将mysql加到启动中
systemctl start mysqld #启动mysql
启动数据库
systemctl start mysqld
4. mysql体系结构及基础管理
(1)本地scoket连接方式
连接命令:mysql -S /tmp/mysql.sock
说明:只能在本地使用,不依赖与ip和端口
(2)远程TCP/ip连接方式
连接命令: mysql -uroot -p123 -h 10.0.0.0 -P 3306
mysql的基础命令
查看所有库: Show databases;
进入到mysql库:use mysql ;
查看表:show tables;
查看表结构:desc user;
(1) mysql的物理存储结构
扇区:512B
连续的一段磁盘空间
段:一个表就是一个段。可以由1个或者多个区构成
区(簇):把几个页进行组织成区 默认1M 连续的64页组成
页:把很多个磁盘块组成页 默认16kb 由连续4个块组成 块有是扇区组成