简单详细的MySQL数据库结构及yum和通用二进制安装mysql的方法

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 mysqld
 chkconfig 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';

然后退出,就可以用新密码进入了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Fy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值