MySQL最上层是连接组件。下面服务器是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。
连接组件:指的是不同语言中与SQL的交互,是第三方语言提供和数据库连接的接口。
连接池:管理缓冲用户连接,线程处理等需要缓存的需求。
管理工具和服务:系统管理和控制工具,例如备份恢复、Mysql复制、集群等。
SQL接口:接受用户的SQL命令,并且返回用户需要查询的结果。
解析器:SQL命令传递到解析器的时候会被解析器验证和解析。
优化器:SQL语句在查询之前会使用查询优化器对查询进行优化。
缓存器: 查询缓存,如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。
存储引擎:存储引擎是MySql中具体的与文件打交道的子系统。
一、yum源安装
1.在线安装
(1)配置yum源(下载或者手动配置与yum源)
<1>下载yum源:
yum install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
<2>手动配置yum源:
vim /etc/yum.repo.d/rpm.repo
[mysql]
name=mysql5.7
baseurl=http://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0
(2)下载mysql
yum install mysql-community-server
2、本地安装
(1)下载RPM安装包,上传至服务器
下载地址:https://downloads.mysql.com/archives/community/
(2) 解压
mkdir mysql
tar xf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C mysql
(3)安装
yum localinstall -y mysql-community-server-5.7.18-1.el7.x86_64.rpm mysql-community-client-5.7.18-1.el7.x86_64.rpm mysql-community-common-5.7.18-1.el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm
安装过程中会出现错误,我们需要卸载mariadb-libs
error: Failed dependencies:
mariadb-libs is obsoleted by mysql-community-libs-5.7.18-1.el7.x86_64
yum install mariadb-libs
二、通用二进制安装
(1)上传安装包
(2)创建用户及组
groupadd -r mysql
useradd mysql -r -g mysql -c "MySQL Server" -s /bin/false
(3)解压,软链接
1、解压:
tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
tar xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
2、创建软连接:
ln -sv /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64
(4)初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
(5)提供配置文件和服务启动脚本
1、配置文件:
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
2、修改配置文件:
vim /etc/my.cnf
[mysqld]
...
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
3、启动脚本:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
(6)启动mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
配置环境变量:
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
加载使其生效
1、查看临时登录密码:
awk '/temporary password/ {print $NF}' /var/log/mysqld.log
得到临时密码: HH!yS/;Md7+y
2、登录数据库
mysql -uroot -p" HH!yS/;Md7+y"
3、修改密码
alter user root@localhost identified by 'RedHat@123';
密码要符合复杂性要求