当前位置: 首页 > news >正文

linux环境mysql安装配置踩坑

背景:

最近公司项目希望改造工作流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

相关文章:

linux环境mysql安装配置踩坑

背景: 最近公司项目希望改造工作流ACTIVITI5.x的源码框架支持大数据量(历史表单表数据达到10亿), 方案暂定为 1.使用动态数据源 2.将工作流归档历史数据数据保存到一个库中这里定义为读库, 3.在办办件的数据单独一个库…...

相关性网络图 | 热图中添加显著性

一边学习,一边总结,一边分享! 本期教程 写在前面 此图是一位同学看到后,想出的一期教程。 最近,自己的事情比较多,会无暇顾及社群和公众号教程。 1 安装和加载相关的R包 library(ggraph) library(tidy…...

cocosCreator 之 微信小游戏授权设置和调用wxAPI获取用户信息

版本: 3.8.0 语言: TypeScript 环境: Mac 官方文档: 微信官方文档 - 开放能力 微信 API 小游戏环境 在cocosCreator的3.x版本项目开发中,TypeScript最终会被转换为JavaScript语言。 JavaScript的运行时调用的API…...

element ui el-table表格纵向横向滚动条去除并隐藏空白占位列

需求 当table内容列过多时,可通过height属性设置table高度以固定table高度、固定表头,使table内容可以滚动 现在需求是右侧滚动条不好看,需要去除滚动条,并隐藏滚动条所占列的位置 // ----------修改elementui表格的默认样式-…...

防止python进程重复执行

前言 通过保存的进程pid查询上次执行的进程是否退出,决定是否启动新的python进程 代码 pidOption.py import os import psutil pidPath = "saveFile.pid"#写入进程号 def writePid():pid = str(os.getpid())f = open(pidPath, w)f.write(pid...

LV.12 D13 C工程与寄存器封装 学习笔记

一、C语言工程简介 把模板在linux解压出来 代码写在interface.c就可以了。 map.lds是链接脚本文件(负责代码的排布) include中是头文件,src中是写好的源代码 start.s是启动代码,在interface.c之前运行,把cpu和栈做一…...

Java SE 学习笔记(十九)—— XML、设计模式

目录 1 XML1.1 XML 概述1.2 XML 语法规则1.3 XML 文档约束(了解)1.3.1 DTD 约束1.3.2 schema 约束 2 XML 解析2.1 XML 解析概述2.2 Dom4J 解析 XML 文件2.3 XML 解析案例 3 XML 检索4 设计模式4.1 工厂模式4.2 装饰模式 1 XML 在有些业务场景下&#xff…...

grafana InfluxDB returned error: error reading influxDB 400错误解决

问题: 如图提示错误解决 确认自己的docker容器是否配置了以下3个字段 DOCKER_INFLUXDB_INIT_USERNAMExxx DOCKER_INFLUXDB_INIT_PASSWORDyyy DOCKER_INFLUXDB_INIT_ADMIN_TOKENzzz 如果有,在grafana中需要添加header配置Header: Authorization , Value…...

【LeetCode:150. 逆波兰表达式求值 | 栈】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...

什么是神经网络,它的原理是啥?(2)

参考:https://www.youtube.com/watch?vmlk0rddP3L4&listPLuhqtP7jdD8CftMk831qdE8BlIteSaNzD 视频3:什么是激活函数?为什么我们需要激活函数?它的类型有哪些? 为什么需要激活函数?如果没有激活函数&…...

leetcode做题笔记206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3: 输入&am…...

2023/10/31 JAVA学习

idea一般会自动帮我们导包 new string创建出的字符串是空的,可以对其进行新赋值 s[i]在Java字符串中是没有这个东西的,想要遍历字符串只能用下面这种方式 但是可以把字符串,转换为字符数组然后那样输出 java中是无法s1 s2这样比较字符串的,因为这样比较的是地址,如果是new创建…...

SurfaceFliger绘制流程

前景提要: 当HWComposer接收到Vsync信号时,唤醒DisSync线程,在其中唤醒EventThread线程,调用DisplayEventReceiver的sendObjects像BitTub发送消息,由于在SurfaceFlinger的init过程中创建了EventThread线程&#xff0c…...

系统架构设计师-第14章-云原生架构设计理论与实践-

云原生架构产生背景 云原生与商业场景的深度融合 ( 1 )从为企业带来的价值来看,云原生架构有着以下优势通过对多元算力的支持,满足不同应用场景的个性化算力需求,井基于软硬协同架构,为应用提供极致性能的云原生算力 (2) 通过最…...

conda 实践

1. 环境部署 1.1. 下载 anaconda 安装包 下面这个网址查找自己需要的版本 https://repo.anaconda.com/archive/ 或者手动下载。 wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh 1.2. 执行安装程序 #安装依赖: sudo yum install bzip2…...

行业追踪,2023-10-31

自动复盘 2023-10-31 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...

springboot 配置多个Redis数据源详解

实现原理 需要配置好两个数据源,创建两个RedisTemplate在配置类中注入两个RedisConnectionFactory,分别创建对应的RedisTemplate进行操作 详解 配置数据源 我这里是在之前已有一个配置下面另外加了一个 spring:redis:# 地址host: localh…...

【数据结构】排序算法总结

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈数据结构 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 总结 1. 归并排序2. 计数排序3. 排序…...

作为20年老程序员,我如何使用GPT4来帮我写代码

如果你还在用google寻找解决代码bug的方案,那你真的out了,试试gpt4, save my life. 不是小编危言耸听,最近用gpt4来写代码极大地提高了代码生产力和运行效率,今天特地跟大家分享一下。 https://www.promptspower.comhttps://www.…...

【机器学习合集】模型设计之残差网络 ->(个人学习记录笔记)

文章目录 模型设计之残差网络1. 什么是残差结构1.1 网络加深遇到的优化问题1.2 short connect技术 2. 残差网络及有效性理解2.1 残差网络 3. 残差网络的发展3.1 密集残差网络3.2 更宽的残差网络(wide resnet)3.3 分组残差网络3.4 Dual Path Network3.5 加权残差网络3.6 预激活残…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...