glibc

二进制安装MySQL5.6 MySQL5.7

随声附和 提交于 2020-11-08 09:02:55
1:系统版本 [root@vhost1 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) 2:添加用户和组 chattr -i /etc/shadow /etc/group /etc/gshadow /etc/passwd /usr/sbin/groupadd -g 200 mysql /usr/sbin/useradd mysql -u200 -g mysql -s /sbin/nologin 3:启动文件、my.cnf文件、创建MySQL软件目录 /opt/source #软件解压目录 basedir=/usr/local/mysql #软件安装目录 datadir=/mysqldata #数据目录 解压软件到安装目录下 #tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql 在软件目录/opt/source下解压 tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz mysql 建立软连接,便于日后版本升级 ln -r /opt

mysql5.7多实例安装

Deadly 提交于 2020-11-08 09:02:23
[root@vhost1]# cd /opt/source [root@vhost1]#ls mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz [root@vhost1]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz [root@vhost1]#ln -s /opt/source/mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql [root@vhost1]#groupadd -g 500 mysql [root@vhost1]#useradd -r -g mysql -u 500 -s /bin/false mysql [root@vhost1]#cd /usr/local/ [root@vhost1]#chown -R mysql.mysql mysql 创建3306端口实例 [root@vhost1]#mkdir -p /data/mysql_3306/{data,logs,run,tmp} [root@vhost1]#cd /data/mysql_3306/logs [root@vhost1]#touch mysql_error.log [root@vhost1]#chown -R mysql.mysql /data

mysql5.7二进制包进行多实例安装

狂风中的少年 提交于 2020-11-08 08:36:03
一、需求 在一台服务器上安装mysql5.7,并且部署两个实例:3306用于本机主库,3307用于其他MYSQL服务器的从库 二、下载mysql二进制包 [root@push- 5 - 222 src]# mkdir /usr/local/src/mysql- 5.7 . 26 -linux-glibc2. 12 [root@push - 5 - 222 src]# cd /usr/local/src/mysql- 5.7 . 26 -linux-glibc2. 12 [root@push - 5 - 222 mysql- 5.7 . 26 -linux-glibc2. 12 ]# wget https: // dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 三、解压、添加环境变量 [root@push- 5 - 222 mysql- 5.7 . 26 -linux-glibc2. 12 ]# tar -zxvf mysql- 5.7 . 26 -linux-glibc2. 12 -x86_64. tar .gz mv mysql- 5.7 . 26 -linux-glibc2. 12 -x86_64 /usr/local/mysql- 5.7 . 26 [root

MySQL 5.7.18的安装及主从复制(主从同步)

随声附和 提交于 2020-11-03 11:33:27
MySQL 5.7.18的安装与主从复制 IP 计算机名 角色 192.168.1.222 001 master 192.168.1.233 002 slave CentOS 6.9安装mysql5.7.18 # 这里只展示一台的安装过程,另一台一样操作 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 1、下载,解压,并创建软链接 [root@001 ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz [root@001 ~]# tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ [root@001 ~]# cd /usr/local/ [root@001 local]# ln -sv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql 2、新建mysql用户组和mysql用户 [root@001 local]# groupadd mysql [root@001 local]# useradd -g

lsf_10.1安装教程 (VMware/centos7)

感情迁移 提交于 2020-10-29 19:32:11
作为测试,在VMware上安装centos7,然后在centos7上安装lsf 10.2 社区版(其实是10.1版本),社区版和正式版的安装基本一致,不过不需要license。 redhat上安装步骤基本相同。 下面是具体的安装步骤: 机器设置 1.1 设置hostname及IP 通 过修改/etc/hostname设置机器名,机器名不要太长,也不要带特殊字符。 通过ifconfig指令获取机器的IP地址。注意如果是通过VMware安装的虚拟机,每次重启后ip地址都会变,所以最好将其IP设置为静态地址。 通过修改/etc/hosts来标明hostname和IP的对应关系。 重启机器使之生效。 1.2 设置ssh 确认sshd服务已开启,如未开启,用root账号执行 service sshd start 开启。 配置ssh免密登陆。 用ssh-keygen命令产生公钥和私钥。 把本机上的公钥写入本机,所以本机登陆本机不需要密码。 如果有多个机器节点,需要依次复制。(如下为示意) scp ~/.ssh/authorized_keys root@node01:~/.ssh/ scp ~/.ssh/authorized_keys root@node02:~/.ssh/ 1.3 设置共享存储 如果有多台机器,需要在所有机器上启动NFS服务,设置好共享目录,lsf需要安装在共享目录

Linux centos7 c++ 内存泄漏定位

烈酒焚心 提交于 2020-10-27 04:15:12
最近被公司一个新产品的内存泄漏搞得焦头烂额,该产品属于主线代码的一个分支,代码大致相同,只是硬件很不一样,但是主线却没有内存泄漏,分支每天都会有400M的泄漏,临近过点,亚历山大。 内存泄漏这次在操作系统层面总结下来分为四类:堆泄漏,栈堆积,系统资源泄漏,内存碎片 从出现概率来说逐渐降低,所以定位顺序也依次展开 1.堆泄漏   也就是new/malloc没有对应释放,这个一般来说直接用valgrind直接跑就完事,这里看到安装valgrind网上大部分都是官网下载源码到服务器编译安装,由于该产品glibc版本较低且没有安装gcc,也找不到配套的低版本的gcc,于是直接下载了valgrind的rpm包,直接拷到服务器安装,一顿猛操作后发现,有打印一些明确泄漏的,但是最多几个字节,剩余的可能泄漏点都是程序初始化申请的固定内存,不太可能造成每天几百兆的泄漏。   防止工具不给力,还在代码里在几个频繁申请内存的地方加了引用计数,观察到内存增长时引用计数也没有增长,大概不是这个原因。 2.栈堆积   可能时某个队列积攒了大量数据导致的内存增长,但是增加打印观察队列数也没有增长 3.系统资源泄漏   有可能是线程句柄、套接字句柄、文件句柄没有正常关闭,比较分支和主线代码,发现有一处pthread_create后,线程结束后没有回收资源,需要调用下pthread_deatch,

企业级规范架构下的数据库搭建(MySQL篇)

不打扰是莪最后的温柔 提交于 2020-10-26 23:33:47
数据库技术离不开数据库环境搭建。在讨论搭建环境之前,我先推荐一篇文章给大家: 首席架构师白鳝:运维的进阶与哲学之道 。这篇文章对我影响很大,在我还只是个纯粹单一技术思想的IT男时,它让我的思维格局都得到极大的提升。 这篇文章和数据库搭建的关系 可能有些小伙伴心里会有疑问:不就是个MySQL数据库搭建吗?如此简单的内容,而且网上文档满天飞。说好的尽量不讲网上已经存在的重复知识点呢?而且你讲搭建就专心讲,扯上面那些干嘛?就想说明你多崇拜白总吗?(没错,我确实极度崇拜他。) 我先简单解释下:本篇确实主讲MySQL搭建,但是我会在搭建时融入上述文章中提到的思想,这将使搭建更精益化、规范化,且更容易实现自动化甚至智能化。后续也会引申出不少基于这个搭建模式的知识及思想。我不想只分享纯粹的技术知识,我觉得规范化,架构化等思想更为重要。也希望小伙伴们通过我的分享,能将普通的技术知识应用到企业级的架构中去。 下面将分享一下我的搭建方法,可能大家会觉得步骤和常规的比起来略显繁琐,但为了更标准化、规范化,部分操作在手动操作的情况下是无法避免的。不过由于实现了标准化,这会让后续的自动化实现起来更加容易,所以也无需过于纠结操作的繁琐。 MySQL二进制规范搭建步骤 注意:命令行头标识如下: # 表示root用户执行 $ 表示mysql用户执行 mysql> 表示myql命令行执行 1、规范信息: 内容 规范

JVM 源码分析之一个 Java 进程究竟能创建多少线程

拥有回忆 提交于 2020-10-26 23:15:12
本文来自: PerfMa技术社区 PerfMa(笨马网络)官网 概述 虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从 JVM 源码角度来分析,更多的来自于 Linux Kernel 的源码分析,今天要说的是 JVM 里比较常见的一个问题。 这个问题可能有几种表述 一个Java进程到底能创建多少线程? 到底有哪些因素决定了能创建多少线程? java.lang.OutOfMemoryError: unable to create new native thread 的异常究竟是怎么回事 不过我这里先声明下可能不能完全百分百将各种因素都理出来,因为毕竟我不是做 Linux Kernel 开发的,还有不少细节没有注意到的,我将我能分析到的因素和大家分享一下,如果大家在平时工作中还碰到别的因素,欢迎在文章下面留言,让更多人参与进来讨论 从 JVM 说起 线程大家都熟悉, new Thread().start() 即会创建一个线程,这里我首先指出一点 new Thread() 其实并不会创建一个真正的线程,只有在调用了 start 方法之后才会创建一个线程,这个大家分析下 Java 代码就知道了,Thread 的构造函数是纯 Java 代码,start 方法会调到一个 native 方法 start0 里,而 start0 其实就是 JVM_StartThread 这个方法。

glibc 版本(version `GLIBC_2.14' not found)问题

只谈情不闲聊 提交于 2020-10-22 18:50:12
目录 简述 解决这个问题的程序 1、 glibc_hack 脚本 2、修改高版本依赖到低版本的小程序 参考资料 简述 很多时候,没法使用高版本系统,或者升级 glibc 版本,导致很多兼容性问题。这类的答案网上有很多,给出的解决方案也不少,这里做个简单的记录,方便参考。 大致来说,有这么几种方式: 在低版本环境下编译,在高版本环境下使用。(比如在 centos 6 上使用 gcc 编译的程序,可以跑在 ubuntu 18.04) 使用静态链接 libc ( libstd++ )的方式。(依赖库太多的时候,蛮麻烦的,也要考虑glibc对内核版本的要求) 符号替换,使用低版本符号替换编译环境下的高版本符号,或使用链接器的wrap选项实现 libc 函数的包装。 发布程序自带 libc.so 等,链接时指定 -Wl,-rpath 或添加环境变量 LD_LIBRARY_PATH 来使用自带的动态库。 解决这个问题的程序 1、 glibc_hack 脚本 这是一个可以修改二进制文件,将 GLIBC_版本符号 替换为 弱引用(weak)的脚本。 使用弱引用版本的程序,任会输出错误消息,但在运行时不会直接终止该程序。 《在旧的glibc上运行新的应用程序》 这里阐述了这个脚本的处理过程,使用这个脚本并非很优的做法。 这个脚本的处理是比较简单的,处理的情况也有限(2.14),适用情况有限。