在银河麒麟服务器V10上源码编译安装mysql-5.7.42-linux-glibc2.12-x86_64

news2024/9/21 13:41:36

在银河麒麟服务器V10上源码编译安装mysql-5.7.42-linux-glibc2.12-x86_64

    • 一、卸载MariaDB(如果已安装)
    • 二、下载MySQL源码包并解压
    • 三、安装编译所需的工具和库
    • 四、创建MySQL的安装目录及数据库存放目录
    • 五、编译安装MySQL
    • 六、配置MySQL
    • 七、设置环境变量
    • 八、启动MySQL服务
    • 九、登录MySQL并设置密码
    • 十、验证MySQL安装
    • 十一、配置MySQL服务开机自启
    • 十二、配置防火墙(如果需要)


💖The Begin💖点点关注,收藏不迷路💖

一、卸载MariaDB(如果已安装)

首先,检查系统中是否已安装MariaDB,因为MariaDB和MySQL在端口和配置文件上可能存在冲突。

rpm -qa | grep mariadb

在这里插入图片描述

如果发现有MariaDB相关包,使用yum命令进行卸载:

yum remove mariadb

在这里插入图片描述

二、下载MySQL源码包并解压

从MySQL官网下载MySQL 5.7的源码包,这里以5.7.42版本为例:

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz

tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz


mv mysql-5.7.42-linux-glibc2.12-x86_64 mysql-5.7.42

三、安装编译所需的工具和库

使用yum安装编译MySQL所需的工具和库:

yum install gcc gcc-c++ cmake ncurses-devel bison openssl-devel rpcgen

在这里插入图片描述

四、创建MySQL的安装目录及数据库存放目录

创建MySQL的安装目录和数据库数据存放目录,并设置相应的用户和组权限:

mkdir -p /mysqlapp/mysql
mkdir -p /mysqlapp/mysql/data

groupadd mysql
useradd -g mysql mysql

mv /root/mysql-5.7.42/* /mysqlapp/mysql

chown -R mysql:mysql /mysqlapp/mysql
chown -R mysql:mysql /mysqlapp/mysql/data

在这里插入图片描述

五、编译安装MySQL

进入MySQL源码目录:

在这里插入图片描述

cd /mysqlapp/mysql/bin

[root@kylin01 bin]# ./mysqld --initialize --console --user=mysql --datadir=/mysqlapp/mysql/data --basedir=/mysqlapp/mysql/

在这里插入图片描述

六、配置MySQL

1、创建MySQL的配置文件/etc/my.cnf,并添加必要的配置项:

vi /etc/my.cnf


添加以下内容:

[mysqld]
port = 3306
user = mysql
basedir = /mysqlapp/mysql
datadir = /mysqlapp/mysql/data
pid-file = /mysqlapp/mysql/data/mysql.pid
sql_mode='ONLY_FULL_GROUP_BY'
log_error = /mysqlapp/mysql/mysql-error.log

[client]
port = 3306

在这里插入图片描述

2、创建 mysql-error.log 文件

sudo touch /mysqlapp/mysql/mysql-error.log

sudo chown mysql:mysql /mysqlapp/mysql/mysql-error.log

在这里插入图片描述

要不启动会报错:

[root@Kylin01 support-files]# sh mysql.server start
Starting MySQL.2024-08-22T11:57:51.565251Z mysqld_safe error: log-error set to '/mysqlapp/mysql/mysql-error.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/mysqlapp/mysql/data/mysql.pid).
[root@Kylin01 support-files]#

七、设置环境变量

将MySQL的bin目录添加到PATH环境变量中:

echo 'export PATH=/mysqlapp/mysql/bin:$PATH' >> /etc/profile
source /etc/profile

八、启动MySQL服务

将MySQL的启动脚本复制到/etc/init.d/目录下,并启动MySQL服务:

cd /mysqlapp/mysql/support-files/

sh mysql.server start

在这里插入图片描述

九、登录MySQL并设置密码

使用初始化密码登录mysql。

mysql -u root -p

在这里插入图片描述

登录到MySQL后,你应该首先为root用户设置一个密码,以确保数据库的安全性。在MySQL 5.7中,你可以使用ALTER USER命令来设置密码。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zyl#2024';

请记得将'你的新密码'替换为你想要设置的密码。

十、验证MySQL安装

设置完密码后,你可以通过退出MySQL并重新登录来验证密码是否设置成功:

mysql> exit;

然后重新登录:

mysql -u root -p

在这里插入图片描述

系统会提示你输入密码,输入你刚刚设置的密码后,你应该能够成功登录到MySQL。

十一、配置MySQL服务开机自启

为了让MySQL服务在系统启动时自动运行,你可以使用chkconfig命令(如果系统支持)或systemctl(对于使用systemd的系统)来设置。

对于使用systemd的系统:

# 创建一个systemd服务文件(如果需要)
vi /etc/systemd/system/mysqld.service

然后,你可以根据MySQL的启动脚本内容填写该服务文件,或者简单地使用以下模板(注意,这只是一个基本模板,具体细节可能需要根据你的安装路径和配置进行调整):

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/mysqlapp/mysql/bin/mysqld --defaults-file=/etc/my.cnf

[Install]
WantedBy=multi-user.target

保存文件后,重新加载systemd的配置并启用MySQL服务:

systemctl daemon-reload
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld

在这里插入图片描述

十二、配置防火墙(如果需要)

如果你的服务器运行了防火墙,并且MySQL需要通过网络被访问,你需要确保防火墙允许访问MySQL的默认端口(3306)。

对于使用firewalld的系统:

firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload

在这里插入图片描述

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

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

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

相关文章

计算机系统-内存与CPU

CPU(中央处理单元,Central Processing Unit)是计算机系统的核心组件,负责执行程序中的指令并处理数据。它被称为计算机的“大脑”,因为它控制了计算机的所有计算和操作。CPU主要由以下几个部分组成: 算术逻…

如何在UE5.4中重新定位动画?

动画在游戏和电影制作中扮演着至关重要的角色,而在虚幻引擎5.4(UE5.4)这一强大的实时3D创作平台中,重新定位动画的能力更是将创意表达推向了新的高度。本文将引导您探索UE5.4中重新定位动画的技巧,确保您的动画作品不仅…

leetcode 169 多数元素

正文 本题较为简单,但是有一些比较有趣的方法,这里特来记录一下。 普通方法 遍历整个数组,使用 count 进行统计,然后选择出现次数大于 len(nums) / 2 的元素。 class Solution:def majorityElement(self, nums: List[int]) -&g…

工业相机测长仪的组成部分

关键字:工业相机测长仪,高精度测长仪,视觉测量系统,蓝鹏测控测长仪,工业测长仪, 本文介绍了蓝鹏测控公司机器视觉业务 测长仪的核心产品及技术特点,主要涵盖相机部分、相机防护系统、补光系统和软件部分。 (一)相机部分 我司的机器视觉业务…

双轴测径仪的四种样式!

双轴测径仪主要是用于外径及椭圆度的检测,适用于线缆电缆、橡胶塑料、金属、纸管等各种材质的线棒管材的外径及椭圆度尺寸检测。 双轴测径仪是由两个单测头垂直布置组合而成,目前根据用户的不同需求,为双轴测径仪设计了四种外观样式。 45角…

【开端】从黑神话。悟空看国产游戏技术能否引领全球

国产游戏技术能否引领全球? 近年来,国产游戏行业蓬勃发展,技术水平不断提升,多款作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,中国游戏开发者在各个领域都取得了显著进步。面对…

博主自用智能猫砂盆分享!CEWEY、空气萝卜、糯雪三款区别到底在哪里

不得不说,智能猫砂盆真的是我们这些经常外出的养猫人必备的一个智能产品了,自动铲屎的功能可以让我完全不用担心猫砂盆里会堆积猫便便,然后发臭生虫。有智能猫砂盆在,这些都不是问题,但是想要买一款合适的智能猫砂盆也…

sql-labs36-40通关攻略

第36关 一.判断闭合点 http://127.0.0.1/Less-36/?id1%df%20--http://127.0.0.1/Less-36/?id1%df%20-- 二.查询数据库 http://127.0.0.1/Less-36/?id-1%df%27%20union%20select%201,database(),3--http://127.0.0.1/Less-36/?id-1%df%27%20union%20select%201,database…

vue中使用vue-video-player插件播放视频 以及 audio播放音频

一、使用vue-video-player插件播放视频 安装 npm install vue-video-player --save 在main.js中引用 //引入视频播放插件 // main.js import VueVideoPlayer from vue-video-player import video.js/dist/video-js.css import vue-video-player/src/custom-theme.cssVue.use(V…

web3js连接测试网并完成交易

ps:有个需求是要等待确认交易。写这篇之后,我发现直接用回调函数要等好久好久好久。找到解决方案在这个链接但是有点麻烦。我已经弃用web3,直接使用ethersjs配合infura了,贼快。 本文将介绍如何使用web3js在Sepolia测试网完成一次…

应用案例|亚克力板CNC加工自动化上下料

在现代化制造领域,自动化和智能化已成为提升生产效率、降低成本的关键。针对当前CNC加工过程中亚克力板上下料环节的人工操作问题,富唯智能提出了基于AMR(自主移动机器人)的复合机器人解决方案。传统的人工取料、放置以及加工完成…

PSINS工具箱函数介绍——gpssimu

关于工具箱 gpssimu是生成GPS的位置和速度信息的函数,在psins240101\base\base1目录下 本文所述的代码需要基于PSINS工具箱,工具箱的讲解: PSINS初学指导:https://blog.csdn.net/callmeup/article/details/137087932 gpssimu是…

【ubuntu24.04】AX210/MT9621/USB网络共享访问无线网络

发现华硕的路由器访问网络经常有问题,比如clash 经常不能正常工作。 即使内网丢包严重? 期望能给台式机增加一个无线网卡访问外网。 我的五代网卡U12, 无法使用wap2企业版的无线网络:【ubuntu24.04】腾达U12 8812au无线网卡成功安装 普通的是没问题的。 对比了一些网卡,wifi…

认知杂谈37

今天分享 有人说的一段争议性的话 I 《别让焦虑困住自己》 嘿,朋友!这大热天的,实在是热得让人心里发慌。 I 咱可别再给自己找不痛快啦,赶紧找个舒服的地儿坐下,泡上一杯茶,好好唠唠嗑,给咱的心…

如何克服编程学习中的挫折感:哲学与心理学的启示

在编程学习的道路上,挫折感几乎是每个人都会遇到的障碍。无论是新手还是资深开发者,都会在面对难题时感到沮丧、焦虑甚至是无助。然而,挫折不仅是挑战,更是成长的机会。在这篇博客中,我们将结合哲学与心理学的智慧&…

2024年8月27日(dockerfile应用,创建私有仓库,在企业中分享项目)

一、dockerfile应用 [rootdocker ~]# mkdir http0 [rootdocker ~]# cd http0/ [rootdocker http0]# vim abc.sh [rootdocker http0]# ls abc.sh [rootdocker http0]# vim abc.sh #!/bin/bashrm -rf /run/*httpd*exec /sbin/httpd -D FOREGROUND [rootdocker http0]# echo "…

【大模型理论篇】通用大模型架构分类及技术统一化

1. 背景 国内的 “百模大战” 以及开源大模型的各类评测榜单令人眼花缭乱,极易让人陷入迷茫。面对如此众多的大模型,我们该如何审视和选择呢?本文将从大模型架构的角度,对常见的开源大模型架构进行汇总与分析。资料来源于公开…

创建vue组件时高度为100vh时出现纵向滚动条

<style scoped>.loginBox{padding: 0;width: 100%;min-height: 100vh;background: #c3c4c5;} </style> 原因body自带margin属性 解决方法 在index.html中添加 margin: 0;padding: 0;属性

Spring核心概念复习IOC与DI

Spring IOC概念 控制反转&#xff08;Inversion of Control&#xff09;&#xff1a;这是一种设计原则&#xff0c;用于降低代码之间的耦合度。在传统的编程模式中&#xff0c;对象之间的依赖关系是由对象自身创建和维护的。而在控制反转模式下&#xff0c;对象的创建和依赖关系…

华为eNSP:静态路由配置、浮动路由配置

静态路由&#xff1a; 一、拓扑图 二、路由器配置 2.1&#xff1a;配置接口 R1&#xff1a; [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [r1-GigabitEthernet0/0/0]qu [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 10.1.1.1 24 [r1-GigabitEth…