第一章 MySQL 8.0 介绍及安装配置
本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。
只要掌握80%,轻松助力薪资15k-25K。
课程内容均来自与MySQL官网+MySQL源码。
配套精品视频(2021 5月全新录制,版权所有:郭加磊 oldguo。),获取方法私聊。
1. 数据库是什么?
数据库,是对企业核心数据 高效 安全 存储和管理的软件.
2. DBA 是什么?
管理 维护 使用 数据库的管理人员
3. 数据库(DBMS)产品种类
RDBMS 关系型数据库 : Oracle MySQL PG MSSQL
NoSQL 非关系型数据库 : MongoDB Redis Elasticsearch
DDBMS 分布式数据库解决方案 : PinCAP TiDB PolarDB TDSQL OB
4. MySQL企业版本选择
5.6 : 5.6.40+ 双数版,GA 6-12月
5.7 : 5.7.20 + 双数版
8.0 : 8.0.20+ 双数版
5. 软件获取
6. 安装
6.1 . 下载 上传 解压
[root@db01 opt]# tar xf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
[root@db01 opt]# ln -s /opt/mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql
6.2 基础环境准备
[root@db01 opt]# yum remove mariadb-libs -y
[root@db01 opt]# id mysql
[root@db01 opt]# mkdir -p /data/3306/data
[root@db01 opt]# chown -R mysql. /data
[root@db01 opt]# ls -ld /data
drwxr-xr-x 3 mysql mysql 18 Nov 2 12:24 /data
[root@db01 opt]# vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
6.3 初始化数据
[root@db01 opt]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data
2020-11-02T04:28:37.527727Z 0 [System] [MY-013169] [Server] /opt/mysql-8.0.20-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.20) initializing of server in progress as process 7503
2020-11-02T04:28:37.553970Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-11-02T04:28:39.148172Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-11-02T04:28:40.627548Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
有可能的报错: [error]
libaio问题-----> yum install -y libaio-devel
--initialize specified but the data directory has files in it. Aborting. ----> \rm -rf /data/3306/data/*
初始化参数说明:
--initialize-insecure : 初始化核心参数
--user=mysql : 指定初始化用户
--basedir=/usr/local/mysql : 数据库软件位置
--datadir=/data/3306/data : 数据存储位置
6.4 彩蛋1 : 多版本之前的初始的不同
5.7 和 8.0 是一样
5.7之前是不一样
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data
6.5 彩蛋2 : 区别
--initialize :
会生成一个12位,4种密码复杂度临时管理员密码. 第一次登陆需要修改.
--initialize-insecure
管理员密码为空.
6.6 配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
port=3306
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
6.7 准备启动脚本
[root@db01 ~]# cd /usr/local/mysql/support-files/
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
[root@db01 support-files]# systemctl enable mysqld
[root@db01 support-files]# systemctl start mysqld
[root@db01 support-files]# systemctl status mysqld