Linux——MySQL5.7编译安装、RPM安装、yum安装

文章目录

  • Linux——MySQL5.7编译安装、RPM安装、yum安装
    • 一、编译安装
    • 二、RPM安装
    • 三、yum安装

Linux——MySQL5.7编译安装、RPM安装、yum安装

卸载mysql

# 查看是否安装了mysql
[root@csq ~]# rpm -qa |grep mysql
mysql-community-server-5.7.36-1.el7.x86_64
mysql-community-common-5.7.36-1.el7.x86_64
mysql-community-client-5.7.36-1.el7.x86_64
mysql-community-libs-5.7.36-1.el7.x86_64
# 停止mysql服务器并删除mysql
[root@csq ~]# systemctl stop mysqld
# 卸载
[root@csq ~]# rpm -ev mysql-community-server-5.7.36-1.el7.x86_64
[root@csq ~]# rpm -ev mysql-community-common-5.7.36-1.el7.x86_64 --nodeps
[root@csq ~]# rpm -ev mysql-community-client-5.7.36-1.el7.x86_64
[root@csq ~]# rpm -ev mysql-community-libs-5.7.36-1.el7.x86_64 --nodeps
# 删除mysql目录文件和库
[root@csq ~]# find / -name mysql
[root@csq ~]# rm -rf /var/lib/mysql
[root@csq ~]# rm -rf /etc/my.cnf
# 删除mysql用户及组
[root@csq ~]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@csq ~]# userdel mysql
[root@csq ~]# groupdel mysql
[root@csq ~]# cat /etc/passwd |grep mysql
[root@csq ~]# cat /etc/group |grep mysql    
# 再次查询
[root@csq ~]# whereis mysql

一、编译安装

安装依赖包

[root@csq ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake wget

下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

创建mysql目录

mkdir /usr/local/mysql

创建mysql用户

useradd -r mysql -M -s /sbin/nologin
# -r:建立一个系统账号
# -M:强制,不要建立使用者家目录
# -s:指定登陆者的shell

解压并编译安装

# 解压
tar -zxvf mysql-boost-5.7.27.tar.gz -C /usr/local/
# 切换到编译目录
cd /usr/local/mysql-5.7.27/
# 编译安装
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

make && make install

参数详解:
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \          #  指定使用Boost库的路径和版本
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   # 指定MySQL的安装目录为/usr/local/mysql
-DSYSCONFDIR=/etc \          #  指定MySQL的配置文件目录为/etc,即将生成的配置文件放在该目录下
-DMYSQL_DATADIR=/usr/local/mysql/data \ # 指定MySQL的数据目录为/usr/local/mysql/data,即将数据库文件存储到该路径
-DINSTALL_MANDIR=/usr/share/man \  # 指定MySQL的man手册安装路径为/usr/share/man,即将生成的man手册安装到该目录
-DMYSQL_TCP_PORT=3306 \     #  指定MySQL的TCP端口为3306,即在运行MySQL时使用该端口进行通信
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ # 指定MySQL的Unix套接字路径为/tmp/mysql.sock,即MySQL通过Unix套接字进行本地通信
-DDEFAULT_CHARSET=utf8 \  #  指定MySQL的默认字符集为utf8,即在创建数据库和表时使用UTF-8字符集
-DEXTRA_CHARSETS=all \   # 设置MySQL支持所有额外字符集
-DDEFAULT_COLLATION=utf8_general_ci \ # 指定MySQL的默认排序规则为utf8_general_ci,即在比较和排序时使用UTF-8字符集的默认规则
-DWITH_READLINE=1 \     #  启用MySQL的Readline库支持,用于命令行交互的编辑和历史记录功能
-DWITH_SSL=system \     # 指定使用系统提供的SSL库,用于启用MySQL的SSL连接支持
-DWITH_EMBEDDED_SERVER=1 \ # 启用MySQL的嵌入式服务器功能,允许将MySQL嵌入到其他应用程序中
-DENABLED_LOCAL_INFILE=1 \ # 启用MySQL的本地数据导入功能,允许从客户端加载本地文件到数据库中
-DWITH_INNOBASE_STORAGE_ENGINE=1 # 启用InnoDB存储引擎,该引擎提供了事务支持和行级锁定

初始化

# 设置mysql根目录文件属主和属组
[root@csq ~]# chown -R mysql:mysql /usr/local/mysql/
# 进入mysql安装目录
[root@csq ~]# cd /usr/local/mysql/
# 更新PATH环境变量,使可以在任何目录下执行mysql命令行工具
[root@csq mysql]# echo "export PATH=${PATH}:/usr/local/mysql/bin/" >> /etc/profile
[root@csq mysql]# source /etc/profile
# 初始化
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 执行结束会告诉你mysql登陆密码,要记下来 待会要改密码会用到
# --initialize: 这个参数告诉MySQL服务器执行初始化操作
# --user=mysql: 这个参数指定MySQL服务器以mysql用户身份运行
# --basedir=/usr/local/mysql: 这个参数指定MySQL服务器的基础目录,即MySQL的安装目录
# --datadir=/usr/local/mysql/data: 这个参数指定MySQL的数据目录,即数据库文件的存储位置

编辑mysql配置文件

vim /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
#指定安装目录
datadir=/usr/local/mysql/data
#指定数据存放目录

启动mysql

# 启动mysql
mysqld_safe --user=mysql &
[root@csq mysql]# netstat -tlnp |grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      14878/mysqld   

登陆mysql并修改密码

[root@csq mysql]# /usr/local/mysql/bin/mysql -uroot -p'IWFXDuyi(1fg'
mysql> alter user 'root'@'localhost' identified by '000000';
mysql> exit
[root@csq mysql]# mysql -uroot -p000000 # 再次使用修改的密码登陆
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit

配置mysqld服务的管理工具

[root@csq support-files]# cd /usr/local/mysql/support-files/
[root@csq support-files]# cp -rf mysql.server  /etc/init.d/mysqld 
# 将MySQL服务添加到系统的服务管理列表中
[root@csq support-files]# chkconfig --add mysqld
# 将MySQL服务设置为在系统启动时自动启动
[root@csq support-files]# chkconfig  mysqld on
# 启动命令
[root@csq support-files]# service mysqld stop
[root@csq support-files]# service mysqld start
[root@csq support-files]# service mysqld restart
[root@csq support-files]# service mysqld reload
[root@csq support-files]# service mysqld status
# 或者
[root@csq ~]# systemctl start mysqld
[root@csq ~]# systemctl stop mysqld

二、RPM安装

下载地址:https://downloads.mysql.com/archives/community/

# 下载 
[root@csq ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar
# 解压

按照顺序安装rpm软件包

[root@csq ~]# rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-devel-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-libs-compat-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# yum install -y net-tools
[root@csq ~]# rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm 
# 验证
[root@csq ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

启动mysql

# 查看服务状态
[root@csq ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Tue 2024-05-07 14:50:20 CST; 20s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
# 初始化数据库
[root@csq ~]# mysqld --initalize --console
# 授权
[root@csq ~]# chown -R mysql:mysql /var/lib/mysql
# 启动
[root@csq ~]# systemctl start mysqld
[root@csq ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2024-05-07 14:55:09 CST; 3s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 24825 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 24807 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 24830 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─24830 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

May 07 14:55:09 csq systemd[1]: Starting MySQL Server...
May 07 14:55:09 csq systemd[1]: Started MySQL Server.

查看临时密码,登陆mysql,改密码

[root@csq ~]# cat /var/log/mysqld.log  |grep password                                     2024-05-07T06:29:54.096170Z 1 [Note] A temporary password is generated for root@localhost: <enk8:(8wlWf
[root@csq ~]# mysql -u root -p'<enk8:(8wlWf' 
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 设置密码的验证强度等级,设置为low
mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
# 设置密码长度为6
mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)
# 设置密码,只要满足6位数长度即可
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';     
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit

三、yum安装

安装依赖包

[root@csq ~]# yum install -y perl net-tools

下载地址:http://repo.mysql.com/

[root@csq ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
[root@csq ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm 

如果要安装mysql5.7版本,可以设置一下yum仓库

vim /etc/yum.repos.d/mysql-community.repo
# 文件中会显示5.5,5.6,5.7的版本,把5.7版本下的enabled=0改成=1
# 把默认5.6版本下的enabled=1改成0,然后再进行安装就可以了

yum安装mysql-5.7

[root@csq ~]# yum install -y mysql-server
[root@csq ~]# mysql --version
mysql  Ver 14.14 Distrib 5.7.44, for Linux (x86_64) using  EditLine wrapper

开启mysql服务

[root@csq ~]# systemctl start mysqld
[root@csq ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2024-05-07 15:37:13 CST; 4s ago
     Docs: man:mysqld(8)

登陆mysql,修改密码

[root@csq ~]# cat /var/log/mysqld.log |grep password
[root@csq ~]# mysql -uroot -p'iywr=#:Wo3yZ'
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

mysql> 
mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';     
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/599123.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Google Play开发者账号为什么会被封?如何解决关联账号问题?

Google Play是Google提供的一个应用商店&#xff0c;用户可以在其中下载并安装Android设备上的应用程序、电影、音乐、电子图书等。Google Play是Android平台上较大的应用市场&#xff0c;包含了数百万个应用程序和游戏。但是谷歌对于上架应用的审核越趋严格&#xff0c;开发者…

全新Adobe利器:Project Neo为2D平面图像轻松添加3D立体效果

Adobe的崭新创意工具Project Neo&#xff0c;正以其独特的3D技术为传统的2D图像设计领域带来革命性的变化。这款工具的核心功能在于&#xff0c;它能够将原本平面的2D图像巧妙地转化为立体感十足的三维作品。 想象一下&#xff0c;你手中的图标、动画插图&#xff0c;在Projec…

XSS漏洞---XSS-labs通关教程

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 Level-1 过滤源码&#xff1a;无 pyload&#xff1a; name<script>alert(1)</script> Level-2 过滤源码&#xff1a;利用转译函数将特殊字符转译为实体字符 $str $_GET["…

软件系统概要设计说明书(实际项目案例整理模板套用)

系统概要设计说明书 1.整体架构 2.功能架构 3.技术架构 4.运行环境设计 5.设计目标 6.接口设计 7.性能设计 8.运行设计 9.出错设计 全文档获取进主页 软件资料清单列表部分文档&#xff08;全套可获取&#xff09;&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&…

Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 前言 通过前三篇Sprin…

ISIS的基本配置

1.IS-IS协议的基本配置&#xff08;1&#xff09; 2.IS-IS协议的基本配置&#xff08;2&#xff09; 3.IS-IS协议的基本配置&#xff08;3&#xff09; 4.案例&#xff1a;IS-IS配置 R1的配置如下&#xff1a; [AR1czy]isis 1 [AR1czy-isis-1]is-level level-1 [AR1czy-isis-…

设置 kafka offset 消费者位移

文章目录 1.重设kafka消费者位移2.示例2.1 通过 offset 位置2.2 通过时间2.3 设置到最早 1.重设kafka消费者位移 维度策略含义位移Earliest把位移调整到当前最早位移处位移Latest把位移调整到当前最新位移处位移Current把位移调整到当前最新提交位移处位移Specified-Offset把位…

爬虫学习(4)每日一笑

代码 import requests import re import osif __name__ "__main__":if not os.path.exists("./haha"):os.makedirs(./haha)url https://mlol.qt.qq.com/go/mlol_news/varcache_article?docid6321992422382570537&gameid3&zoneplat&webview…

算法分析 KMP算法中next值的计算、0/1背包问题

5.6.1 KMP算法中next值的计算 设模式的长度为m。用蛮力法求解 KMP算法中的 next值时&#xff0c;next[0]可直接给出&#xff0c;计算next[j](1<j<m-1)则需要在 T[0] …T[j-1]中分别取长度为j-1、..、2、1的真前缀和真后缀并比较是否相等&#xff0c;最坏情况下的时间代价…

数据库事务隔离级别及mysql实现方案

1、数据库的并发问题 以下几个概念是事务隔离级别要实际解决的问题&#xff0c;所以需要搞清楚都是什么意思。 脏读&#xff1a;读到了其他事务未提交的数据&#xff0c; 不可重复读&#xff1a;在一个事务内&#xff0c;多次读取的同一批数据出现不一致的情况。 幻读&…

CTK库编译-01

地址 官网地址&#xff1a;Commontk github地址&#xff1a;https://github.com/commontk/CTK 编译环境 Qt套件&#xff1a; IDE&#xff1a;VS2022 使用vs2022 文件->打开->cmake 修改根目录下的CMakeLists.txt 默认只编译core模块&#xff0c;所以需要把部分模块…

无偏扭曲区域采样在可微分渲染中的应用

图1. 可微渲染计算光传输方程的导数。为了处理可见性的存在&#xff0c;最近的基于物理的可微渲染器需要显式地找到边界点[Li等人2018; Zhang等人2020]&#xff0c;或者通过启发式方法近似边界贡献[Loubet等人2019]。我们从第一原理出发&#xff0c;开发了一个无偏估计器&#…

阿里巴巴alibaba国际站API接口:商品详情和关键词搜索商品列表

阿里巴巴国际站&#xff08;Alibaba.com&#xff09;提供了API接口供开发者使用&#xff0c;以实现与平台的数据交互。然而&#xff0c;由于API的详细内容和调用方式可能会随着时间和平台更新而发生变化&#xff0c;以下是一个概述和一般性的指导&#xff0c;关于如何使用阿里巴…

企业邮箱是什么?怎么注册一个企业邮箱?

企业邮箱是什么&#xff1f;有什么特征&#xff1f;企业邮箱的特征就是以企业域名为后缀。企业通过企业邮箱能够提升自身的品牌形象&#xff0c;还能够提高员工的工作效率。作为企业的管理者来说&#xff0c;应该如何注册一个企业邮箱呢&#xff1f;小编今天就为您介绍下企业邮…

期权怎么开户?

今天期权懂带你了解期权怎么开户&#xff1f;近年来&#xff0c;随着股市的持续低迷&#xff0c;市场交易痛点越发明显的氛围中&#xff0c;所以有人看到了双向交易的期权。 期权怎么开户&#xff1f; 1、首先是证券账户内的资金需要满足50万保留20个交易日&#xff1b; 2、其…

Transformer详解:从放弃到入门(二)

多头注意力 上篇文章中我们了解了词编码和位置编码&#xff0c;接下来我们介绍Transformer中的核心模块——多头注意力。 自注意力 首先回顾下注意力机制&#xff0c;注意力机制允许模型为序列中不同的元素分配不同的权重。而自注意力中的"自"表示输入序列中的输入相…

相机内存卡格式化怎么恢复?恢复数据的3个方法

相机内存卡格式化后&#xff0c;许多用户都曾面临过照片丢失的困境。这些照片可能具有极高的纪念价值&#xff0c;也可能包含着重要的信息。因此如何有效地恢复这些照片变得至关重要。本文将详细介绍三种实用的恢复方法&#xff0c;帮助您找回那些珍贵的影像。 下面分享几个实…

RS2103XH 功能和参数介绍及规格书

RS2103XH 是一款单刀双掷&#xff08;SPDT&#xff09;模拟开关芯片&#xff0c;主要用于各种模拟信号的切换和控制。下面是一些其主要的功能和参数介绍&#xff1a; 主要功能特点&#xff1a; 模拟信号切换&#xff1a;能够连接和断开模拟信号路径&#xff0c;提供灵活的信号路…

经典面试题之滑动窗口专题

class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {// 长度最小的子数组 // 大于等于 targetint min_len INT32_MAX;// 总和int sum 0;int start 0; // 起点for(int i 0; i< nums.size(); i) {sum nums[i];while(sum > targe…

京东淘宝1688商品采集商品数据抓取API

item_get-获得淘宝商品详情 item_search 关键字搜索商品 公共参数 请求地址: taobao/item_search 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&a…
最新文章