linux环境mysql安装配置踩坑

news2024/11/21 2:23:48

背景:

最近公司项目希望改造工作流ACTIVITI5.x的源码框架支持大数据量(历史表单表数据达到10亿),

方案暂定为

1.使用动态数据源

2.将工作流归档历史数据数据保存到一个库中这里定义为读库,

3.在办办件的数据单独一个库可读可写,

4.查询历史数据的时候单独从归档库中查询(归档库中数据采用年月分区

哈哈我感觉很悬!!!!,我本来想使用大数据clickhouse后面被否定了,那我就按照领导的来吧,后面会记录使用clickhouse方案),

这里动态数据源我本地的,一个windows环境配置的mysql ,另外一个是在虚拟机上配置的mysql,没想到在虚拟机上配置mysql花费了我大量的时间特意记录一下。

linux环境安装mysql

官网:MySQL :: Download MySQL Community Server (Archived Versions)

 第一步:下载并上传到服务器上 mysql-5.7.37-linux-glibc2.12-i686.tar.gz

第二步:将安装包统一解压并放到/usr/local/下的mysql文件

tar -zxvf  mysql-5.7.37-linux-glibc2.12-i686.tar.gz

mv   【mysql-5.7.37-linux-glibc2.12-i686.tar.gz解压后文件】  /usr/local/mysql/     

注:没有mysql文件目录会移动时会自动创建(也可以手动创建)

第三步:在cd /etc/下创建mysql的配置my.cnf 

touch my.cnf 

添加如下配置

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysql-safe]
log-error=/var/log/mysqld.log
pid-file=/var/local/mysql/mysql.pid
tmpdir=/tmp
[mysqld]
port=3307
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8                

第四步:添加用户及用户组

设置用户组

groupadd mysql  

新增用户

useradd -r -g mysql mysql

备注:

-r选项表示创建一个系统用户(system user),而不是一个普通用户。系统用户通常用于运行系统服务或应用程序,它们通常没有登录权限

-g选项用于指定用户所属的初始主要组

第五步:设置mysql数据存储目录 

这里设置在/usr/local/mysql/data下没有data手动创建data目录

mkdir data

第六步:设置/usr/local/mysql目录及子目录的用户权限

chown -R  mysql:mysql ./

注:这个命令是在usr/local/mysql目录下执行

第七步:初始化mysql

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

注:

--basedir指定mysql的安装目录

--datadir 指明mysql的数据存储目录

正常情况下生成这样的图,圈起来的是初始密码,牢记注,可以复制出来备份!!!

这里说说遇到的特殊情况:

第一种情况:密码没记住

直接/usr/local/mysql/data/下的数据删除了重新执行一遍mysql初始化语句

第二种情况:初始化报错

mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

这里可能与centos的版本有关,有问题的执行如下命令,没问题的跳过

yum install libnuma.so.1

yum -y install numactl
yum install libnuma
yum install ld-linux.so.2
yum install libaio.so.1
yum install libnuma.so.1
yum install libstdc++.so.6
yum install libtinfo.so.5

yum clean all
yum makecache

第八步:启动mysql

直接启动

/usr/local/mysql/support-files/mysql.server restart

/usr/local/mysql/support-files/mysql.server stop 
/usr/local/mysql/support-files/mysql.server start

也可以这样简化设置

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

service mysql star

第九步:登录mysql设置默认密码

mysql -uroot -p 

输入初始化备份的密码

登录后重新设置密码

SET PASSWORD = PASSWORD('wxy123456');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;

第十步:开放远程连接

use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;    
否则navicat连接不到

第十一步:检查防火墙端口是否开放

firewall-cmd  --list-port   ##检查开放端口

firewall-cmd --zone=public --add-port=3307/tcp --permanent   ##新增开放端口

firewall-cmd --reload     ##重新加载

第十二步:使用Navicat测试连接

第十三步:相关问题及总结

网上资料很多,踩了很多坑,尤其是这个问题按照提示的安装了还是错误 yum install libnuma.so.1花费了很多时间

问题一:mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

把下面的都执行一遍

yum install libnuma.so.1

yum -y install numactl
yum install libnuma
yum install ld-linux.so.2
yum install libaio.so.1
yum install libnuma.so.1
yum install libstdc++.so.6
yum install libtinfo.so.5

yum clean all
yum makecache

问题二:登录提示Can't connect to local MySQL server through socket '/tmp/mysql.sock'
[root@localhost /]# mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方式需要做一个软连接
[root@localhost /]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
[root@localhost /]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

 拓展:

在Linux系统中

MySQL数据库通常使用一个名为mysql.sock的Unix套接字(Unix socket)来与客户端通信。

这个套接字文件通常位于/var/lib/mysql/mysql.sock目录下。

但是,有些应用程序可能会默认使用/tmp/mysql.sock路径来连接MySQL,这时候就需要创建一个符号链接(symbolic link)将/tmp/mysql.sock链接到/var/lib/mysql/mysql.sock,以便让应用程序能够连接到MySQL。

因此,ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock命令的作用就是创建一个名为mysql.sock的符号链接,将/tmp/mysql.sock链接到/var/lib/mysql/mysql.sock。这样当应用程序连接到/tmp/mysql.sock时,实际上是连接到了/var/lib/mysql/mysql.sock

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

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

相关文章

人工智能基础_机器学习012_手写梯度下降代码演示_手动写代码完成梯度下降_并实现梯度下降可视化---人工智能工作笔记0052

可以看到上面我们那个公式,现在我们用梯度下降实现一下,比如我们有一堆数据,但是没有方程的情况下,我们来看一下如果计算,对应的w值也就是seta值对吧,没有方程我们可以使用梯度下降 这里首先我们可以设置一个0.0001.我们知道梯度下降的公式, 梯度下降刚开始的时候,下降会快,然…

基于FPGA的图像差分运算及目标提取实现,包含testbench和MATLAB辅助验证程序

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2022/07/28 01:51:…

k8spod

pod基本概念 (几种容器) pod 是k8s最小的创建和运行单元 一个pod包含几个容器,1个根容器/父容器/基础容器,一个或者多个应用容器/业务容器,pause容器 pod里面容器共享 network UTS IPC命令空间 k8s 创建的Pod 分为两种: 自主…

洞见UI自动化测试

随着软件行业的不断发展,建立一个完善的自动化测试体系变得至关重要。自动化测试包括三个方面:UI前端界面,Service服务契约和Unit底层单元如下图: 越是底层的测试,运行速度越快,时间开销越少,金…

Yakit工具篇:WebFuzzer模块之重放和爆破

简介 Yakit的Web Fuzzer模块支持用户自定义HTTP原文发送请求。为了让用户使用简单,符合直觉,只需要关心数据相关信息,Yakit后端(yaklang)做了很多工作。 首先我们先来学习重放请求的操作,在日常工作中可以使用 Web Fuzzer进行请…

九、W5100S/W5500+RP2040树莓派Pico<SNTP 获取网络时间>

文章目录 1 前言2 协议简介2.1 什么是SNTP2.2 SNTP的优点2.3 SNTP原理2.4 应用场景 3 WIZnet以太网芯片4 SNTP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着科技的不断进步和应用需求的不断变…

深度学习之基于Yolov8的汽车车流量统计系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介二、功能三、汽车车流量统计系统四. 总结 一项目简介 基于YOLOv8的汽车车流量统计系统是一种利用深度学习技术进行车辆检测和统计的系统。YOLOv8是一种目标…

解析开关电源测试项目:电源下降时间及其测试方法、测试规范、注意事项

开关电源下降时间是指电压从90%下降到10%的时间。下降时间是开关电源的重要特性参数,对于电路稳定以及信号传输的准确性至关重要,同时也对电路设计和调试具有重要意义。 电源下降时间测试方法和注意事项 测试目的:测试S.M.P.S. POWER ON时&am…

java spring boot 注解、接口和问题解决方法(持续更新)

注解 RestController 是SpringMVC框架中的一个注解,它结合了Controller和ResponseBody两个注解的功能,用于标记一个类或者方法,表示该类或方法用于处理HTTP请求,并将响应的结果直接返回给客户端,而不需要进行视图渲染…

IA3源码分析

IA3源码分析 PEFT 开源包中的模型代码实现 class IA3Model(BaseTuner):"""Example:py>>> from transformers import AutoModelForSeq2SeqLM, ia3Config>>> from peft import IA3Model, IA3Config>>> config IA3Config(... pe…

实力验证 | 求臻医学满分通过CAP及NCCL组织的国内外三项室间质评

近日,求臻医学以满分的优异成绩通过了由美国病理学家协会(College of American Pathologists,CAP)组织的NGS−A 2023:Next−Generation Sequencing (NGS) – Germline、NEO-B 2023 Neoplastic Cellularity能力验证项目…

User-Agent防爬虫与应对策略

引题 最近在看爬虫,也准备学习一下防爬的策略,世上莫大之事就是,我可以爬别人网站,别人不许爬我网站。 正文 什么是User-Agent User-Agent是一个HTTP请求头的一部分,它向Web服务器提供关于客户端(通常是…

使用 RBAC 鉴权实战

使用 RBAC 鉴权实战 官方文档 创建名称 deployment-clusterrole 的 ClusterRole,该⻆⾊具备创建 Deployment、Statefulset、Daemonset 的权限,在命名空间 rbac-test 中创建名称为 cicd-token 的 ServiceAccount,绑定 ClusterRole 到 Service…

Linux学习第28天:Platform设备驱动开发(二): 专注与分散

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 三、硬件原理图分析 四、驱动开发 1、platform设备与驱动程序开发 53 /* 54 * 设备资源信息,也就是 LED0 所使用的所有寄存器 55 */ 56 static str…

揭秘!产品经理提升效率的秘密武器:10款AI生成PPT工具

AI的爆炸式增长表现令人惊艳,现有的各类AI工具正在重塑各行各业,不同程度地提高人们的工作效率,并有望创造新的职业机会。但是,面对市面上数量众多的AI工具,且每周都会蹦出新的产品,即便是以好奇心富称的产…

巴黎奥运会将基于阿里云实现云上转播

10月31日,2023杭州云栖大会,奥林匹克广播服务公司与奥林匹克频道服务公司首席技术官索蒂里斯萨拉穆里斯(Sotiris SALAMOURIS)表示,过去5年阿里云作为奥运会转播的基础设施,让奥运故事触达了更多全球观众。 …

c++实现策略模式

前言 看了一会儿大话设计模式,我感觉平常的话,策略模式还挺常用的,记录一下。个人理解策略模式,就是抽象一个算法,然后你可以有很多不同的实现,这些实现去重写抽象算法的虚方法。然后在一个上下文类中有一…

IT服务管理中怎样选择ITSM软件?

对于什么是一个新ITSM工具最重要的选择标准,业界都有不同的看法。其中67%的服务台用户认为是产品的特性和功能, 65%认为是自助服务功能,53%的人认为是轻松配置和定制的能力,45%的人认为是获得高质量的支持,45%的人认为…

Java入门篇 之 逻辑控制

博主的文章希望对大家有所帮助 今日份励志文案:凌空虚度,难成千秋伟业;求真务实,方能善作善成 冲冲冲!!!!! 目录 一.if~else语句 1.1.if-else语句基本用法: 1.2.代码…

C语言字符串详解

字符串详解 定义 输入输出 思考一: 思考二: 思考三 字符串的转义字符 思考四 常见的字符串函数 strcpy 拷贝数组 strlen 输出字符串长度 strcat 连接俩个字符串 strcmp 比较俩个字符串的大小 strupr 把字符串里面的小写转换成大写形式 s…