目录
- mysql体系结构
- mysql的安装方法
- 一,yum安装
- 1,首先下载一个网络源仓库:
- 2,然后安装 mysql-community-server
- 3,启动mysqld 服务
- 4,然后登录数据库
- 5,初次登录要设置密码,而且不能太简单
- 二,通用二进制安装mysql
- 1,网络获取到通用二进制的压缩包
- 2,创建mysql用户及组
- 3,解压
- 4,创建软链接,方便以后升级和操作
- 5,初始化数据库
- 6,提供配置文件和服务启动脚本
- 7,添加 mysql 服务
- 8,起动mysql,并且配置环境变量
- 9,初次登录数据库
- 10,设置改密码
mysql体系结构
mysql由SQL接口,解析器,优化器,缓存,存储引擎等组成。
SQL interface:接收用户命令,并且返回结果,如 select * from 就是调用了SQL 接口的
解析器(Parser): sql语句命令传递到解析器后会进行命令解析以及处理。
优化器(Optimizer): 语句在查询执行之前会进行语句的优化
缓存(Cache&Buffer:): 如果查询的缓存中存在命中的结果就会直接在缓存中拿出数据
存储引擎(Engine):存储引擎是mysql中具体与文件打交道的子系统
Connectors(连接器):不同的语言与mysql的交互连接器
Connectors pool(连接池): 管理缓冲用户连接,管理线程处理等缓存需求。
mysql的安装方法
一,yum安装
环境要求: Centos 7 版本的操作系统
这里安装 mysql 5.7 版本为例
1,首先下载一个网络源仓库:
yum install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
然后会在 //etc/yum.repos.d/ 目录下生成一个仓库:
mysql-community.repo
2,然后安装 mysql-community-server
yum mysql-community-server
等待安装完成。
3,启动mysqld 服务
systemctl start mysqld
查询临时登录密码
awk '/temporary password/ {print $NF}' /var/log/mysqld.log
4,然后登录数据库
mysql -uroot -p密码
5,初次登录要设置密码,而且不能太简单
修改密码
alter user root@localhost identified by 'RedHat@123';
6,这个时候yum安装方式就装好了
二,通用二进制安装mysql
通用二进制安装mysql是比较重要的,通常在生产环境中使用这样的方法安装。
通用二进制安装步骤
1,网络获取到通用二进制的压缩包
可以参考以下链接获取二进制包,
https://downloads.mysql.com/archives/community/
我获取的二进制包为:
mysql-5.7.14-linux-glibc2.5-x86_64.tar
2,创建mysql用户及组
创建用户及用户组的原因大概是保证mysql的安全以及独立性,mysql 服务的权限给定mysql用户和组后,mysql即使被黑了也只能获取到mysql 用户的权限,而不是默认root权限,而且影响不到其他用户的文件等。
创建mysql组
groupadd -r mysql
创建mysql用户,-r 为系统用户,-g为属组,-c为描述信息 , -s 指定shell,/bin/false 是最严格的禁止login选项,该用户不能登录系统以及不会有任何提示useradd mysql -r -g mysql -c "MySQL Server" -s /bin/false
3,解压
将解压文件放到: /usr/local 下
tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
等待解压
解压后发现 目标目录中有以下2个包:
mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
mysql-test-5.7.14-linux-glibc2.5-x86_64.tar.gz
再解压以下文件到 /usr/local/
tar -xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
解压后得到以下包:
mysql-5.7.14-linux-glibc2.5-x86_64
4,创建软链接,方便以后升级和操作
将最后解压出来这个包加上软链接
-s 创建软链接 -v 打印出每个链接文件的名字(详细信息)。mysql链接了 mysql-5.7.14-linux-glibc2.5-x86_64 ln -sv /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql
5,初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
执行成功了会生成一个随机的初始密码:7%Lryrrh487f (各不相同)
6,提供配置文件和服务启动脚本
将/usr/local/mysql/support-files/my-default.cnf 中配置文件的样例复制到 /etc/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
并且在 /etc/my.cnf 中 的 [mysqld] 中写入:
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
7,添加 mysql 服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
添加系统服务,并设置开机自启动chkconfig --add mysqldchkconfig mysqld on
8,起动mysql,并且配置环境变量
/usr/local/mysql/bin/mysqld_safe --user=mysql &配置环境变量:
vim /etc/profile.d/mysql.sh 写入以下。
export PATH=/usr/local/mysql/bin:$PATH
然后刷新:
source /etc/profile.d/mysql.sh
9,初次登录数据库
mysql -uroot -p
登录密码是之前生成那个
10,设置改密码
初次登录进去了操作不了什么,需要先改密码
设置本地 root 密码为123
alter user root@localhost identified by '123';
然后退出,就可以用新密码进入了