glibc

CentOS booting into kernel panic after Glibc update

。_饼干妹妹 提交于 2020-04-21 04:24:43
问题 I foolishly tried to update Glibc to a newer version, got segfaults and rebooted, only to face this error: It's a VM running CentOS 6.2 64bit on Kernel PV 64bit (4.4.27-x86_64-jb1) I only have remote access to. I have the option do boot into a different kernel, could I simply do that to access a webserver and mysql db that is installed on the same system it doesn't want to boot into? I've read elsewhere that I could simply re-install the correct Glibc libs for the distribution, however I can

安装并配置多实例mysql数据库

。_饼干妹妹 提交于 2020-04-18 17:50:38
一、下载介质 http://mirrors.sohu.com/mysql/ http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.40.tar.gz http://dev.mysql.com/downloads/mysql/ http://ftp.ntu.edu.tw/MySQL/Downloads/ 二、安装mysql需要的依赖包和编译软件 [root@monitor01 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@monitor01 ~]# uname -r 3.10.0-957.el7.x86_64 [root@monitor01 ~]# uname -m x86_64 安装依赖包 [root@monitor01 yum.repos.d]# yum install ncurses-devel libaio-devel cmake gcc gcc-c++ glibc openssl-devel bison-devel autoconf -y [root@monitor01 yum.repos.d]# rpm -qa curses-devel libaio-devel 安装编译mysql需要的软件 [root

安装并配置单实例mysql数据库

怎甘沉沦 提交于 2020-04-18 17:50:23
一、下载介质 http://mirrors.sohu.com/mysql/ http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.40.tar.gz http://dev.mysql.com/downloads/mysql/ http://ftp.ntu.edu.tw/MySQL/Downloads/ 二、安装mysql需要的依赖包和编译软件 [root@monitor01 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@monitor01 ~]# uname -r 3.10.0-957.el7.x86_64 [root@monitor01 ~]# uname -m x86_64 安装依赖包 [root@monitor01 yum.repos.d]# yum install ncurses-devel libaio-devel cmake gcc gcc-c++ glibc openssl-devel bison-devel autoconf -y [root@monitor01 yum.repos.d]# rpm -qa curses-devel libaio-devel 安装编译mysql需要的软件 [root

创建 SysV 风格的 linux daemon 程序

风流意气都作罢 提交于 2020-04-18 13:11:17
创建 SysV 风格的 linux daemon 程序 本文介绍如何使用 C 语言创建 Linux 系统中 SysV 风格的 daemon 程序。注意:这是一种旧式的 daemon 程序写法,进入 systemd 时代后是不需要通过这样的方式创建 daemon 程序的。 本文的演示环境为 ubuntu 18.04。 创建 daemon 程序的流程 通过前文《Linux session(会话)》我们了解到,如果要让程序运行在后台,必须处理好进程的 session。所以在创建 daemon 程序的过程中处理 session 问题是很重要的一步,当然除此之外还需要其它的步骤。下面是在 Linux 系统中创建一个 SysV 风格的 daemon 的基本流程: 从父进程 fork 出一个子进程 为子进程创建新的 session ID 在子进程中再 fork 一次 修改 umask 修改进程的当前工作目录 关闭进程中的文件描述符 接下来我们通过代码来介绍这些操作的含义。 创建 daemon 程序 从父进程 fork 出一个子进程 创建一个子进程,如果成功就让父进程退出,此时的子进程已经成为了 init 进程的子进程: pid_t pid; pid = fork(); if (pid < 0) exit(EXIT_FAILURE); if (pid > 0) exit(EXIT_SUCCESS)

部署阿里云服务器详解2 安装oracle11g

烂漫一生 提交于 2020-04-18 07:09:09
-- 首先的得有两个11g的zip文件吧 其次阿里的Xmanager搞一套 很好用~~ 1.在//目录下创建/u01/software /u01/app/oracle 得进入 //下创建 因为官方文档就是按这个目录结构来的 当然你也可以创建其他目录 2.接下里安装了 首先oracle的一些初始配置 : --*首先检查物理内存的大小 grep MemTotal /proc/meminfo --* 检查交换分区内存大小 grep SwapTotal /proc/meminfo oracle的要求交换分区的大小一般为物理内存大小的一点五到两倍 刚注册的服务器一般物理内存为八g 所以swap内存可以设为十六g 当然你也可以将物理内存改小点但它们之间的关系必须满足 --*设置交换分区大小为物理内存的两倍 假设物理的为8g dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=16384; mkswap /tmp/tmp.swap swapon /tmp/tmp.swap vi /etc/fstab i (插入 在文件末尾) /tmp/tmp.swap swap swap default 0 0 :wq 保存退出 --* 修改profile文件 vi /etc/hosts 在末尾加入服务器的内部地址 和 对应的主机名 保存退出 --

Redis核心原理与应用实践

◇◆丶佛笑我妖孽 提交于 2020-04-16 11:09:16
【推荐阅读】微服务还能火多久?>>> Redis核心原理与应用实践 在很多场景下都会使用Redis,但是到了深层次的时候就了解的不是那么深刻,以至于在面试的时候经常会遇到卡壳的现象,学习知识要做到系统和深入,不要把Redis想象的过于复杂,和Mysql一样,是个读取数据的软件。 有一个理解是Redis是key value缓存服务器,更多的优点在于对value的操作更加丰富。 安装 yum install redis #yum安装 brew install redis # brew安装 redis-cli Redis 基础数据结构 Redis 有 5 种基础数据结构,分别为:string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合)。 string (字符串) Redis 的字符串是动态字符串,是可以修改的字符串,内部结构实现上类似于 Java 的 ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配,如图中所示,内部为当前字 符串实际分配的空间 capacity 一般要高于实际字符串长度 len。当字符串长度小于 1M 时, 扩容都是加倍现有的空间,如果超过 1M,扩容时一次只会多扩 1M 的空间。需要注意的是 字符串最大长度为 512M。 键值对 set name codehole get name 批量键值对

snprintf和sprintf区别分析

﹥>﹥吖頭↗ 提交于 2020-04-15 16:44:14
【推荐阅读】微服务还能火多久?>>> 今天在项目中使用snprintf时遇到一个比较迷惑的问题,追根溯源了一下,在此对sprintf和snprintf进行一下对比分析。 因为sprintf可能导致缓冲区溢出问题而不被推荐使用,所以在项目中我一直优先选择使用snprintf函数,虽然会稍微麻烦那么一点点。这里就是sprintf和snprintf最主要的区别:snprintf通过提供缓冲区的可用大小传入参数来保证缓冲区的不溢出,如果超出缓冲区大小则进行截断。但是对于snprintf函数,还有一些细微的差别需要注意。 snprintf函数的返回值 sprintf函数返回的是 实际输出 到字符串缓冲中的字符个数,包括null结束符。而snprintf函数返回的是 应该输出 到字符串缓冲的字符个数,所以snprintf的返回值可能大于给定的可用缓冲大小以及最终得到的字符串长度。看代码最清楚不过了: char tlist_3[10] = {0}; int len_3 = 0; len_3 = snprintf(tlist_3,10,"this is a overflow test!\n"); printf("len_3 = %d,tlist_3 = %s\n",len_3,tlist_3); 上述代码段的输出结果如下: len_3 = 25,tlist_3 = this is a

centos7 安装php扩展-ssh2

試著忘記壹切 提交于 2020-04-15 12:00:42
【推荐阅读】微服务还能火多久?>>> #环境CentOS7.3 #第一、安装支持库文件 yum install make gcc-c++ glibc-devel zlib-devel openssl-devel libssh2-devel php-devel ##编译安装libssh2 wget http://www.libssh2.org/download/libssh2-1.8.0.tar.gz tar zxvf libssh2-1.8.0.tar.gz cd libssh2-1.8.0 ./configure&&make&&make install #第二、安装SSH2扩展 (php7必须下载ssh2-1.0.tgz) wget http://pecl.php.net/get/ssh2-1.0.tgz tar -xzf ssh2-1.0.tgz cd ssh2-1.0 phpize && ./configure --with-ssh2 && make && make install #第三、修改ssh2.ini touch /etc/php.d/ssh2.ini echo extension=ssh2.so > /etc/php.d/ssh2.ini #第四、检查SSH2是否安装成功 php -m | grep ssh2 php -i|grep ssh2 #第安装后重启php