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

本文主要是介绍在银河麒麟服务器V10上源码编译安装mysql-5.7.42-linux-glibc2.12-x86_64,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在银河麒麟服务器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.gztar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gzmv 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/datagroupadd mysql
useradd -g mysql mysqlmv /root/mysql-5.7.42/* /mysqlapp/mysqlchown -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.logsudo 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💖点点关注,收藏不迷路💖

这篇关于在银河麒麟服务器V10上源码编译安装mysql-5.7.42-linux-glibc2.12-x86_64的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099091

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select