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

下载

# 下载
[root@csq ~]# cd /opt/mytools/
[root@csq mytools]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.36.tar.gz 
# 解压
[root@csq mysql-5.7.36]# tar -zxvf mysql-boost-5.7.36.tar.gz 
# 创建mysql用户
[root@csq ~]# useradd -r mysql -M -s /sbin/nologin
# 执行如下命令
[root@csq mytools]# cd mysql-5.7.36/
# 编译安装
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=1make -j 2 && make install

第二步:配置环境变量+初始化

[root@csq mysql-5.7.36]# echo "export PATH=${PATH}:/usr/local/mysql/bin/" >> /etc/profile
[root@csq mysql-5.7.36]# source /etc/profile
[root@csq mysql-5.7.36]# chown -R mysql:mysql /usr/local/mysql/
[root@csq mysql-5.7.36]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 初始化完成要记住后面MySQL的初始密码,用于后续的登陆修改密码
LpZ&*(*hh89u

第三步:编辑mysql配置文件

[root@csq mysql]# vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8[mysqld]
port = 3306
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
character_set_server = utf8
log-error=/usr/local/mysql/data/mysql.err 
pid-file=/usr/local/mysql/data/mysqld.pid
[root@csq mysql-5.7.36]# chown mysql:mysql /etc/my.cnf 
# 参数详解
[client]  # 设置客户端连接 MySQL 服务器时的默认参数
port = 3306  # :设置客户端连接 MySQL 服务器时使用的端口号为 3306
socket = /tmp/mysql.sock # 指定客户端连接 MySQL 服务器时使用的套接字文件路径为 /tmp/mysql.sock。
default-character-set = utf8 # 设置客户端连接 MySQL 服务器时使用的默认字符集为 utf8[mysqld]  # 这是 MySQL 服务器部分的配置段,用于设置 MySQL 服务器的参数
port = 3306 # 设置 MySQL 服务器监听的端口号为 3306
user = mysql # 指定运行 MySQL 服务器进程的用户为 mysql
basedir = /usr/local/mysql # 设置 MySQL 服务器的基础目录为 /usr/local/mysql
datadir = /usr/local/mysql/data # 设置 MySQL 服务器的数据文件存储目录为 /usr/local/mysql/data
socket = /tmp/mysql.sock # 指定 MySQL 服务器监听的套接字文件路径为 /tmp/mysql.sock
character_set_server = utf8 # 设置 MySQL 服务器使用的字符集为 utf8
log-error=/usr/local/mysql/data/mysql.err # 设置MySQL服务器的错误日志存放位置 
pid-file=/usr/local/mysql/data/mysqld.pid # 设置MySQL服务器PID进程存放位置

第四步:启动mysql

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

第五步:修改密码登陆sql

[root@csq mysql]# mysql -uroot -p'IWFXDuyi(1fg'
mysql> alter user 'root'@'localhost' identified by '000000';
mysql> exit
[root@csq mysql-5.7.36]# mysql -uroot -p
Enter password: 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

第六步:配置mysql服务

[root@csq mysql-5.7.36]# cp -rf /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
[root@csq mysql-5.7.36]# chkconfig --add mysqld
[root@csq mysql-5.7.36]# chkconfig mysqld on
[root@csq mysql-5.7.36]# service mysqld status
MySQL running (19985)                                      [  OK  ]
# 或者
[root@csq mysql-5.7.36]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQLLoaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)Active: active (exited) since Wed 2024-05-08 16:32:36 CST; 56s agoDocs: man:systemd-sysv-generator(8)

第七步:防火墙放行3306端口

[root@lnmp-server ~]# firewall-cmd --add-port=3306/tcp --permanent
success
[root@lnmp-server ~]# firewall-cmd --reload
success[root@csq mysql]# netstat -tlnp |grep mysql
tcp6     0      0 :::3306           :::*        LISTEN      24584/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 ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead) since Tue 2024-05-07 14:50:20 CST; 20s agoDocs: 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 ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-05-07 14:55:09 CST; 3s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 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.pidMay 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 ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-05-07 15:37:13 CST; 4s agoDocs: 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.mzph.cn/pingmian/11888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构-题目

1.已知一颗完全二叉树的第6曾&#xff08;设根为第1层&#xff09;&#xff0c;有8个结点&#xff0c;则完全二叉树的结点个数&#xff0c;最少和最多分别是多少&#xff1f; 因此最少为39&#xff0c;最多为111 2.假设一棵三叉树的结点数为50&#xff0c;则它的最小高度为&…

掌握Android Intent与IntentFilter的艺术-深入探索匹配规则与实践技巧

引言 在Android开发的世界中&#xff0c;Intent和IntentFilter是实现组件间通信和任务调度的关键。它们不仅关系到应用的互操作性&#xff0c;还直接影响用户体验。本文将深入探讨Intent和IntentFilter的匹配规则&#xff0c;并通过实际代码示例&#xff0c;揭示如何高效利用这…

【声呐仿真】学习记录3-待续

【声呐仿真】学习记录3-后续 第五阶段-获取数据1.运行赫尔库勒斯沉船的世界&#xff1a;2.键盘操纵rov至合适的位置&#xff0c;调整Image topic&#xff0c;查看输出图像3.RVIZ SONAR 图像查看器插件&#xff08;没有对应的topic&#xff09;4.点云5.录制rosbag 第六阶段-查看…

Unity学习笔记---物理引擎

RigidBody 刚体 1&#xff0c;Gravity Scale 重力参数&#xff0c;是一个乘量参数&#xff0c;调整为0则不受重力影响。 2&#xff0c;Sleeping Mode 睡眠模式&#xff0c;分为永不睡眠/开始时睡眠/开始时不睡眠3种。如需要一直碰撞检测可以选择永不睡眠。 BoxCollider 碰撞…

守护数据安全:精选七款数据加密软件

在数字化日益普及的今天&#xff0c;数据安全成为了企业和个人不可忽视的重要问题。加密软件作为数据安全的第一道防线&#xff0c;扮演着至关重要的角色。本文将为读者精选七款优秀的加密软件&#xff0c;帮助大家更好地守护数据安全。 Ping32数据加密软件 Ping32数据加密软…

Timestamp Unix时间戳在线转换

Timestamp Unix时间戳在线转换 打开网站 在线工具网-梦幻加菲猫 选择“时间戳转换” 在前半部分输入框输入时间/时间戳&#xff0c;点击“转换>>”按钮&#xff0c;即可转换完成 得到转换结果

getter和setter方法的优缺点

Getter和Setter方法&#xff0c;在计算机编程中常被用来访问和修改对象的内部状态。下面让我们来看看它们各自的优缺点吧~ Getter方法的优点&#xff1a; 1. 封装性&#xff1a;Getter方法能够隐藏对象的内部状态&#xff0c;只对外提供必要的访问接口&#xff0c;这样可以防止…

Python自动化SQL注入和数据库取证工具库之sqlmap使用详解

概要 在网络安全领域,SQL注入仍然是最常见的攻击之一。sqlmap是一个开源的自动化SQL注入和数据库取证工具,它提供了广泛的功能来检测和利用SQL注入漏洞。本文将详细介绍sqlmap的安装、特性、基本与高级功能,并结合实际应用场景,展示其在网络安全测试中的应用。 安装 sqlm…

银行监管报送系统系列介绍(十七):一表通2.0

国家金融监督管理总局于9月发布了【一表通2.0&#xff08;试用版&#xff09;】&#xff08;简称&#xff1a;一表通2.0&#xff09;&#xff0c;在原试点报送范围的基础上扩大了试点报送区域&#xff0c;意味着将陆续扩大试报送机构范围&#xff0c;推进的速度已明显加快。尽早…

HQChart使用教程98-右键菜单2.0使用介绍

HQChart使用教程98-右键菜单2.0使用介绍 内置右键菜单启用右键菜单定制右键菜单内容1. 注册内置右键菜单创建回调事件2. 修改内置菜单的显示内容回调函数格式菜单数据结构示例 3. 注册菜单项点击事件回调 右键事件完整示例HQChart代码地址 内置右键菜单 HQChart h5版本内置提供…

Spring Boot + Mybatis-plus代码生成器 自动生成项目结构

首先创建一个新的springboot项目 项目初始化结构如下&#xff1a; 运行自动生成结构代码后的效果如下&#xff1a; 对比初始化项目结构可以发现结构中多了以下几个部分; controller文件夹存储接口类mapper文佳夹存储数据库映射model文件夹存储数据库模型类Service文件夹存储业…

未授权访问:Docker未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、通过crontab反弹宿主机shell 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验&#xff0c;一共有好多篇&#xff0c;内容主要是参考先知社区的一位大佬的关于未授权访问的好文章&#xff0c;还有其他大佬总结好…

LabVIEW

LabVIEW&#xff08;Laboratory Virtual Instrument Engineering Workbench&#xff09;是由美国国家仪器&#xff08;National Instruments&#xff0c;简称NI&#xff09;公司开发的一种程序开发环境&#xff0c;它主要用于数据采集、仪器控制、测试和测量等应用。LabVIEW的最…

中文环境下编写sql server存储过程用中文命名的好处

在中文环境下编写SQL Server存储过程用中文命名的好处 随着信息技术的发展和编程语言对多语言字符集的支持增强&#xff0c;越来越多的开发者在中文环境下编写SQL Server存储过程时&#xff0c;开始使用中文命名。本文将讨论在这种情况下使用中文命名的诸多好处。 1. 提高可读…

万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍

万字长文带你掌握 IDEA 2024 的30个Debug调试绝技&#xff0c;让你开发与修复 Bug 的效率提升亿倍 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — …

QCC---Aptx Lossless验证

因为aptx Lossless属于高通骁龙声音的一部分&#xff0c;一般支持高通骁龙声音的设备会支持到&#xff0c;比如说手机&#xff0c;而且还要支持最新的aptx adaptive协议R2.2版本。但是如果手上没有这样的手机的话&#xff0c;有source芯片也可以去做测试验证。在最新的784.1版本…

Dockfile和YAML文件的区别

Dockerfile和YAML文件是两种不同格式的配置文件&#xff0c;它们在Docker生态系统中扮演不同的角色&#xff1a; Dockerfile&#xff1a;这是一个文本文件&#xff0c;用于通过一系列的指令定义一个Docker镜像的内容和构建过程。Dockerfile中的每一行通常对应一个Docker镜像层&…

入职Java,不会git被开除了。。。

入职Java&#xff0c;不会git被开除了。。。 文章目录 入职Java&#xff0c;不会git被开除了。。。前言一、Git是什么&#xff1f;二、Git的核心概念三、Git的工作流程四、Git的常用命令五、总结 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f49d;欢迎来到我的博…

钽酸锂集成光子芯片:引领光电集成新纪元

在信息技术飞速发展的今天&#xff0c;光电集成技术已成为推动全球集成电路产业持续创新的重要力量。随着全球集成电路产业发展步入“后摩尔时代”&#xff0c;芯片性能提升的难度和成本不断攀升&#xff0c;业界急需寻找新的技术突破口。在这一背景下&#xff0c;中国科学院上…

stream 排序

stream常用写法 // 实体类 public static class User {private String id;private String name;private String value;private String year; }1.List转Map List<User> list = userMapper.selectAll(param); List 转 MapMap<String, String> idMap = list.stream(…