IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux上安装Mysql(GLIBC详解) -> 正文阅读

[系统运维]Linux上安装Mysql(GLIBC详解)

一、MySQL的三种安装方式及区别:

【二进制软件包安装】

  • yum安装或rpm安装
    • 命名:mysql-community-server-5.7.28-1.el7.x86_64.rpm,需要在特定Linux版本下安装
  • glibc版本安装
    • 命名:mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz,依赖glibc库,可以安装在通用的Linux系统下

源码包编译安装

命名:mysql-5.7.27.tar.gz,通用的Linux下都可以编译安装

注:在企业中,数据库的安装很少使用rpm方式,大部分都是基于源码安装以及glibc安装!


二、MySQL的GLIBC版本安装及配置

官方给我们建议了命令的执行及顺序,下面我将会整理出完整步骤

【1. 获取MySQL的GLIBC版本】

在MySQL官方页面进行下载:MySQL :: Download MySQL Community Server

?【2. 安装MySQL依赖libaio库】

为什么安装依赖?我也不知道......官方建议我们装就装

[root@HspEdu01 ~]# yum search libaio  # 查询是否已有
[root@HspEdu01 ~]# yum install libaio # 没有就install

【3. 上传软件包并解压】

上传方式有多种,可以先下载到本地再通过Xftp等上传至Linux服务器,也可以使用 "wget 下载链接" 线上获取,这里我选择后者:

[root@HspEdu01 ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@HspEdu01 ~]# ll

会处于一段时间的下载状态,达到100%即下载成功?,ll 查看发现已存在mysql-.......tar,gz

?解压:

[root@HspEdu01 ~]# tar -zxf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@HspEdu01 ~]# ll

?解压完成后,cd mysql-5.7.37-linux-glibc2.12-x86_64,目录结构应如下:

?【4. 将解压过包移动至指定目录】

官方建议我们将mysql解压后的包mysql-5.7.37-linux-glibc2.12-x86_64放在 /usr/local/ 文件夹下,然后更名为mysql

# 移动至 /usr/local/ 目录下,同时更名为mysql
[root@HspEdu01 ~]# mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql 
[root@HspEdu01 ~]# ll /usr/local/mysql

【5. 创建一个数据库专用账号mysql(其所属组也为mysql)】

[root@HspEdu01 ~]# useradd -r -s /sbin/nologin mysql
[root@HspEdu01 ~]# id mysql

【6. 清除系统中的原有mariadb配置文件(/etc/my.cnf)】

[root@HspEdu01 ~]# rm -rf /etc/my.cnf

【7. 切换到mysql工作目录(/usr/local/mysql),创建一个mysql-files,并修改其权限】

[root@HspEdu01 ~]# cd /usr/local/mysql
[root@HspEdu01 mysql]# mkdir mysql-files
[root@HspEdu01 mysql]# chown mysql:mysql mysql-files
[root@HspEdu01 mysql]# chmod 750 mysql-files

?说明:mysql-files 目录为secure_file_priv系统变量提供一个位置,该位置将导入和导出操作限制到特定目录,即数据导入导出的路径

【8. 初始化数据库】

[root@HspEdu01 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

--initialize????????????????初始化(真正地开始干活)
--user=mysql? ? ? ? ? 以mysql用户的身份初始化数据库,产生的文件都是mysql用户作为拥有者
--basedir=xxx? ? ? ? ?mysql其安装目录(非常重要)

可以实现数据库的初始化,而且会产生一个随机密码,将其密码保存下来,以备后期使用

?经验之谈:想查看mysql软件有没有初始化成功,主要看mysql目录下有没有产生data文件夹,且data文件夹中至少要有一个mysql的文件夹

【9. 设置安全加密连接(SSL)】

[root@HspEdu01 mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

数据传输会采用加密形式,适合敏感数据。--datadir:8步骤初始化mysql后生成的data的路径

【10. 配置/etc/init.d/】

启动前,要把 support-files/mysql.server 复制到 /etc/init.d/ 下,并命名为mysql,启动时便可使用名mysql直接启动

[root@HspEdu01 mysql]# cp support-files/mysql.server /etc/init.d/mysql

注:默认情况下,GLIBC版本的数据库要求安装到 /usr/local/mysql 目录下, 其 mysql.server 脚本中对应的目录也是?/usr/local/mysql ,如果数据库安装的目录不是?/usr/local/mysql ,则会导致mysql无法启动。我们可以更改其mysql.server中basedir(值改为mysql程序的安装路径)和datadir(值改为mysql程序中data文件夹的路径)两个变量来解决此问题

【11. 启动MySQL数据库】

不能使用systemctl(没有产生mysql.service包),只能使用service(service管理的服务都在/etc/init.d/目录下)

[root@HspEdu01 mysql]# service mysql start

?

特别说明:当MySQL启动成功后,其日志会自动写入到data数据目录中的主机名称.err文件中,这个文件一定要多看,涉及MySQL无法启动、启动报错,其详细的原因99%在.err文件中可以找到问题所在。?

【12. 更改数据库管理员密码】

将密码改为'123',在Enter password:后输入之前保存的临时代码

方法一:
[root@HspEdu01 mysql]# bin/mysqladmin -uroot password '123' -p
Enter password:

方法二:
mysql> set password='123'
mysql> flush privileges

【13. 配置环境变量(mysql的bin目录)】

[root@HspEdu01 ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
[root@HspEdu01 ~]# source /etc/profile

配置完之后,在任意位置都可以调用mysql客户端命令,而不用到mysql的bin目录下

?【14. 手工定义MySQL的配置文件(重要)】

[root@HspEdu01 ~]# vim /usr/local/mysql/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock

[root@HspEdu01 ~]# service mysql restart

[mysqld]????????????代表针对服务器端进行配置
basedir??????????????代表数据库的安装目录
datadir???????????????代表数据目录,以后专门用于存放数据文件的(核心目录)
socket????????????????代表套接字文件,专门为客户端与服务器端连接提供一个桥梁

重新启动后,/tmp/mysql.sock 目录下会有这样套接字文件:

?【15. 安全配置(对于生产环境比较重要)】

[root@HspEdu01 ~]# mysql_secure_installation

一路Y,搞定!

其主要就是是否密码校检器(测试环境最好别装,简单密码不让用)、是否设置root密码、是否允许root远程连接、是否移除测试数据库等等一系列功能。

如果装了密码校检器,想要关闭:

[root@HspEdu01 ~]# vim /usr/local/mysql/my.cnf

[mysqld]
........
validate_password=OFF

[root@HspEdu01 ~]# service mysql restart

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-07 14:03:25  更:2022-02-07 14:04:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:01:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码