首页 > 其他分享 >二进制版安装以及启动 Percona-5.7.15

二进制版安装以及启动 Percona-5.7.15

时间:2023-05-27 09:44:16浏览次数:48  
标签:15 lib 5.7 safe so.1 Percona mysqld usr mysql

导读 本文将叙述通过二进制源码方式安装Percona-5.7.15,并进行快速启动。这边如何使用二进制版本安装Percona-5.7.15就不说了,和之前一模一样。
不做多余的事

1、解压

2、创建用户

3、创建相关目录并且赋予MySQL权限

4、使用mysqld初始化

麻烦的地方

按道理来说安装和启用MySQL应该是一件很容易的事,特别是使用二进制版本安装的特别容易的,只要解压初始化就行了。

但是在Percona-5.7.15(包括)之后的版本官网为了一个严重的MySQL漏洞,从而在启动MySQL的时候一些动态链接库只能从/usr/lib、/usr/lib64加载。而一般我安装MySQL都喜欢使用jemalloc这个内存分配,而不使用linux自带的和tcmalloc。所以在my.cnf配置文件中有如下一个配置

[mysqld_safe]
malloc-lib          = /usr/local/mysql/lib/mysql/libjemalloc.so.1

有读过mysqld_safe启动程序源码的都知道在MySQL在寻找 jemalloc.so.1 这两个动态链接库的时候是先寻找到 my.cnf 中设置的 basedir

源码如下:

#
# Add jemalloc to ld_preload if no other malloc forced - needed for TokuDB
#
if test $load_jemalloc -eq 1
then
  for libjemall in "${MY_BASEDIR_VERSION}/lib/mysql" "/usr/lib64" "/usr/lib/x86_64-linux-gnu" "/usr/lib"; do
    if [ -r "$libjemall/libjemalloc.so.1" ]; then
      add_mysqld_ld_preload "$libjemall/libjemalloc.so.1"
      break
    fi  
  done
fi
启动报错

由于libjemalloc.so.1 在 basedir 中存在,可是MySQL又限制了只能在/usr/lib64、/usr/lib等等标准库中加载这些动态文件所以启动的时候会报错。

报错如下:

mysqld_safe --malloc-lib must be located in one of the directories: /usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu

其实查看报错的提示就很明显,就是对于加载这些库只能在/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu这个库中

解决 1、将libjemalloc.so.1文件拷贝到/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu 这几个目录中
cp /usr/local/mysql/lib/mysql/libjemalloc.so.1 /usr/lib64/libjemalloc.so.1
2、修改[mysqld_safe]

修改前:

[mysqld_safe]
malloc-lib          = /usr/local/mysql/lib/mysql/libjemalloc.so.1

修改后:

[mysqld_safe]
malloc-lib          = /usr/lib64/libjemalloc.so.1
3、重启MySQL
[root@centos7 mysql]# numactl --interleave=all /bin/bash /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3306.cnf  
 mysqld_safe Adding '/usr/lib64/libjemalloc.so.1' to LD_PRELOAD for mysqld
 mysqld_safe Adding '/usr/local/mysql/lib/libHotBackup.so' to LD_PRELOAD for mysqld
2016-12-28T09:03:30.653874Z mysqld_safe Logging to '/u01/mysql/mysql_3306/logs/trace/mysql.err'.
2016-12-28T09:03:30.675215Z mysqld_safe Transparent huge pages are already set to: never.
2016-12-28T09:03:30.692654Z mysqld_safe Starting mysqld daemon with databases from /u01/mysql/mysql_3306/data

可见已经启动成功了

当然可以去修改mysqld_safe文件代码,但是对于要脚本部署就比较麻烦了,需要使用sed对代码进行替换,因为每个版本MySQL的mysqld_safe都会有所不同。所以这边就使用拷贝的方法暂时解决。

注意

MySQL 的basedir是一个软连接,那libHotBackup.so也需要修改

具体最终操作如下:

1、拷贝相关动态链接库
cp /usr/local/mysql/lib/mysql/libjemalloc.so.1 /usr/lib64/libjemalloc.so.1
cp /usr/local/mysql/lib/libHotBackup.so /usr/lib64/libHotBackup.so
mv /usr/local/mysql/lib/libHotBackup.so /usr/local/mysql/lib/libHotBackup.so.bak
2、修改my.cnf
[mysqld_safe]
malloc-lib          = /usr/lib64/libjemalloc.so.1

标签:15,lib,5.7,safe,so.1,Percona,mysqld,usr,mysql
From: https://www.cnblogs.com/0227-yyds/p/17371584.html

相关文章

  • Codeforces Round #552 (Div. 3) 1154
    A:传送门就是解个方程,也没什么说的#include<bits/stdc++.h>usingnamespacestd;intmain(){inta[4],x,b,c;for(inti=0;i<4;i++)cin>>a[i];sort(a,a+4);c=a[3]-a[0];x=a[1]-c;b=a[2]-c;cout<<x......
  • 5分钟搞定Linux安装Mysql5.7(简单快捷,建议收藏)
    本文记录下我近期在Linux环境下安装Mysql5.7的实践经历。服务器版本Mysql版本Centos7.65.7.321.下载Mysql下载地址:https://downloads.mysql.com/archives/community/进入页面后选择你需要的版本进行下载,这里提供了2种格式:tar.gz和tar。如果下载不方便,可以直接从我的网盘里面下......
  • UVA1514 Piece it together 题解
    图论题还是在于建图题意给定一个长度为\(n\timesm\)的网格图,有的地方是白方块,有的是黑方块,有的啥也没用。给你如下四种\(L\)形方块,询问是否存在方法,让这些方块正好就是给出的图的形状。$L$形方块如下思路二分图首先我们要想,为什么需要二分图:若能拼成,那么就说......
  • SP15637 Mr Youngs Picture Permutations 题解
    题意给定一个最多有\(5\)排的一个队伍,每一个位置对应一个同学,给定总人数和第\(i\)排要站\(n_i\)个人。要求每行左边的同学身高要大于右边的,每列从上往下要从大到小。问:满足要求的一共有多少种方案。思路DP首先考虑,在这个题目中,有用的状态有每列最后的人的高度,每行......
  • 2023.5.15周一每日总结
    这周老师为我们讲解了人机交互设计像我们说明了合理的设计的重要性通过带我们分析茶壶的组成,和茶壶茶嘴等拼接在一起的方式的不同,像我们说明一个合理的ui的重要性错误示例: 我们说软件工程终究是和人打交道的行业,我们需要满足用户的要求 而要做到这一点,我们需要有很强的......
  • 【题解】Codeforces Round 737 (CF1557)
    VP情况:solve:4/5rank:431st评价:VP了一下,我这个shaberB直接5发罚时,耽误了二十多分钟,以及被D各种细节差点搞死。A.EzzatandTwoSubsequences(*800)题目描述:给定一个序列,将其分为\(2\)个组,要求这两个组的平均值之和最大,组内的数不要求在原序列中连续。题目分析:我们......
  • 白给150套开发板?还有5G手机拿!米尔RZ/G2L开发板创意秀
    人间最美五月天不负韶华不负卿米尔又来送板子了不是3套,也不是4套150套米尔RZ/G2L开发板送!免费!板卡不回收!这是什么样的有奖活动?米尔RZ/G2L开发板创意秀为感谢广大客户一直以来的支持,推动嵌入式行业技术发展,鼓励工程师勇于创新探索的精神,促进64位MPU的生态,米尔电子联合瑞萨共同发起“......
  • Navicat Premium 15安装及破解激活
    1.下载官网地址:https://www.navicat.com.cn/download/navicat-premium安装包及破解工具下载地址:https://pan.baidu.com/s/1tUxwD5Oul75FIykyOmJWyg?pwd=1234NavicatPremium15界面2.开始安装这个没什么好说的点开安装包疯狂下一步就搞定了,当然这里需要记一下安装地址,后......
  • 就业内推 | 地产行业招运维,最高30k*15薪,有住房交通补贴
    01宝能招聘岗位:网络运维高级工程师职责描述:1、负责集团各数据中心和职场网络的设计规划、实施落地和持续优化;2、负责集团网络的日常运维工作,如服务请求和变更的处理、网络相关故障解决,保障网络稳定性、可靠性和性能;3、负责网管平台、网络监控告警平台、网络性能监控平台的规划设计......
  • 就业内推 | 京东云专场,IP/NP以上证书,15薪,员工旅游
    01京东云招聘岗位:网络工程师职责描述:1.整体网络的部署和运维,包括网络新建、扩容、及变更等;2.保障网络及相关业务的稳定运行,对问题和故障进行跟踪并最终解决;3.与业务部门或客户密切配合,深入了解需求并及时反馈,提升客户满意度;任职要求:1.计算机或相关专业本科以上学历,3年以上网络......