MySQL/MariaDB/Percona数据库升级脚本

MySQL/MariaDB/Percona数据库升级脚本

MySQL/MariaDB/Percona数据库升级脚本截取《OneinStack》中upgrade_db.sh,一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们。为防止大版本之间兼容问题,脚本默认仅支持同一大版本之间的升级,如:MySQL-5.6.25升级到MySQL-5.6.26、MySQL-5.5.44升级到MySQL-5.5.45、MariaDB-10.0.20升级到MariaDB-10.0.21;不能跨分支版本且不能跨大版本,如从MySQL-5.5.44升级到PerconaL-5.5.44-37.3、MySQL-5.5.44升级到MySQL-5.6.25。

2015-07-16之前版本如何支持数据库版本升级?

《OneinStack》:

cd /root/
cp oneinstack/options.conf ~ #备份options.conf
rm -rf oneinstack #删除旧版
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz #下载最新版
tar xzf oneinstack-full.tar.gz
/bin/mv ~/options.conf ./oneinstack #还原options.conf, 必须使用旧版options.conf文件
cd oneinstack
./upgrade db #升级数据库版本,如下图:

《lnmp一键安装包》:

cp lnmp/options.conf ~ #备份options.conf
rm -rf lnmp #删除旧版
wget http://mirrors.linuxeye.com/lnmp-full.tar.gz #下载最新版
tar xzf lnmp-full.tar.gz
/bin/mv ~/options.conf ./lnmp #还原options.conf, 必须使用旧版options.conf文件
cd lnmp
./upgrade db #升级数据库版本

PS:MySQL/MariaDB/Percona数据库升级脚本内容如下(cat upgrade_db.sh):

#!/bin/bash
# Author: yeho <lj2007331 AT gmail.com>
# BLOG: https://blog.linuxeye.com
#
# Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
#
# Project home page:
#    http://oneinstack.com
#    https://github.com/lj2007331/oneinstack 

Upgrade_DB()
{
cd $oneinstack_dir/src
[ ! -e "$db_install_dir/bin/mysql" ] && echo "${CWARNING}The MySQL/MariaDB/Percona is not installed on your system! ${CEND}" && exit 1
OLD_DB_version_tmp=`$db_install_dir/bin/mysql -V | awk '{print $5}' | awk -F, '{print $1}'`
DB_tmp=`echo $OLD_DB_version_tmp | awk -F'-' '{print $2}'`
if [ "$DB_tmp" == 'MariaDB' ];then
  [ "$IPADDR_STATE"x == "CN"x ] && DOWN_ADDR=http://mirrors.aliyun.com/mariadb || DOWN_ADDR=https://downloads.mariadb.org/f
  LIBC_VERSION=`getconf -a | grep GNU_LIBC_VERSION | awk '{print $NF}'`
  LIBC_YN=`echo "$LIBC_VERSION < 2.14" | bc`
  [ $LIBC_YN == '1' ] && GLIBC_FLAG=linux || GLIBC_FLAG=linux-glibc_214
  DB=MariaDB
  OLD_DB_version=`echo $OLD_DB_version_tmp | awk -F'-' '{print $1}'`
elif [ -n "$DB_tmp" -a "$DB_tmp" != 'MariaDB' ];then
  DB=Percona
  OLD_DB_version=$OLD_DB_version_tmp
else
  DB=MySQL
  OLD_DB_version=$OLD_DB_version_tmp
fi 

#backup
while :
do
  $db_install_dir/bin/mysql -uroot -p${dbrootpwd} -e "quit" >/dev/null 2>&1
  if [ $? -eq 0 ];then
    break
  else
    echo
    read -p "Please input the root password of database: " NEW_dbrootpwd
    $db_install_dir/bin/mysql -uroot -p${NEW_dbrootpwd} -e "quit" >/dev/null 2>&1
    if [ $? -eq 0 ];then
      dbrootpwd=$NEW_dbrootpwd
      sed -i "s+^dbrootpwd.*+dbrootpwd='$dbrootpwd'+" ../options.conf
      break
    else
      echo "${CFAILURE}$DB root password incorrect,Please enter again! ${CEND}"
    fi
  fi
done 

echo
echo "${CSUCCESS}Starting $DB backup${CEND}......"
$db_install_dir/bin/mysqldump -uroot -p${dbrootpwd} --opt --all-databases > DB_all_backup_$(date +"%Y%m%d").sql
[ -f "DB_all_backup_$(date +"%Y%m%d").sql" ] && echo "$DB backup success, Backup file: ${MSG}`pwd`/DB_all_backup_$(date +"%Y%m%d").sql${CEND}" 

#upgrade
echo
echo "Current $DB Version: ${CMSG}$OLD_DB_version${CEND}"
[ -e /usr/local/lib/libtcmalloc.so ] &[ -e /usr/local/lib/libjemalloc.so ] &while :
do
  echo
  read -p "Please input upgrade $DB Version(example: $OLD_DB_version): " NEW_DB_version
  if [ `echo $NEW_DB_version | awk -F. '{print $1"."$2}'` == `echo $OLD_DB_version | awk -F. '{print $1"."$2}'` ]; then
    if [ "$DB" == 'MariaDB' ];then
      DB_name=mariadb-${NEW_DB_version}-${GLIBC_FLAG}-${SYS_BIT_b}
      DB_URL=$DOWN_ADDR/mariadb-${NEW_DB_version}/bintar-${GLIBC_FLAG}-$SYS_BIT_a/$DB_name.tar.gz
    elif [ "$DB" == 'Percona' ];then
      DB_name=percona-server-$NEW_DB_version
      DB_URL=http://www.percona.com/redir/downloads/Percona-Server-`echo $NEW_DB_version | awk -F. '{print $1"."$2}'`/LATEST/source/tarball/$DB_name.tar.gz
    elif [ "$DB" == 'MySQL' ];then
      DB_name=mysql-$NEW_DB_version
      DB_URL=http://cdn.mysql.com/Downloads/MySQL-`echo $NEW_DB_version | awk -F. '{print $1"."$2}'`/$DB_name.tar.gz
    fi
      [ ! -e "$DB_name.tar.gz" ] && wget --no-check-certificate -c $DB_URL > /dev/null 2>&1 

      if [ -e "$DB_name.tar.gz" ];then
        echo "Download [${CMSG}$DB_name.tar.gz${CEND}] successfully! "
      else
        echo "${CWARNING}$DB version does not exist! ${CEND}"
      fi
      break
  else
      echo "${CWARNING}input error! ${CEND}Please only input '${CMSG}${OLD_DB_version%.*}.xx${CEND}'"
  fi
done 

if [ -e "$DB_name.tar.gz" ];then
  echo "[${CMSG}$DB_name.tar.gz${CEND}] found"
  echo "Press Ctrl+c to cancel or Press any key to continue..."
  char=`get_char`
  if [ "$DB" == 'MariaDB' ];then
    service mysqld stop
    mv ${mariadb_install_dir}{,_old_`date +"%Y%m%d"`}
    mv ${mariadb_data_dir}{,_old_`date +"%Y%m%d"`}
    mkdir -p $mariadb_data_dir;chown mysql.mysql -R $mariadb_data_dir
    tar xzf $DB_name.tar.gz
    [ ! -d "$mariadb_install_dir" ] && mkdir -p $mariadb_install_dir
    mv mariadb-${NEW_DB_version}-*-${SYS_BIT_b}/* $mariadb_install_dir
    if [ "$je_tc_malloc" == '1' -a "`echo $OLD_DB_version_tmp | awk -F'.' '{print $1"."$2}'`" != '10.1' ];then
      sed -i 's@executing mysqld_safe@executing mysqld_safe\nexport LD_PRELOAD=/usr/local/lib/libjemalloc.so@' $mariadb_install_dir/bin/mysqld_safe
    elif [ "$je_tc_malloc" == '2' -a "`echo $OLD_DB_version_tmp | awk -F'.' '{print $1"."$2}'`" != '10.1' ];then
      sed -i 's@executing mysqld_safe@executing mysqld_safe\nexport LD_PRELOAD=/usr/local/lib/libtcmalloc.so@' $mariadb_install_dir/bin/mysqld_safe
    fi
    $mariadb_install_dir/scripts/mysql_install_db --user=mysql --basedir=$mariadb_install_dir --datadir=$mariadb_data_dir
    chown mysql.mysql -R $mariadb_data_dir
    service mysqld start
    $mariadb_install_dir/bin/mysql < DB_all_backup_$(date +"%Y%m%d").sql
    service mysqld restart
    $mariadb_install_dir/bin/mysql -uroot -p${dbrootpwd} -e "drop database test;" >/dev/null 2>&1
    $mariadb_install_dir/bin/mysql -uroot -p${dbrootpwd} -e "reset master;" >/dev/null 2>&1
    [ $? -eq 0 ] && echo "You have ${CMSG}successfully${CEND} upgrade from ${CMSG}$OLD_DB_version${CEND} to ${CMSG}$NEW_DB_version${CEND}"
  elif [ "$DB" == 'Percona' ];then
    tar zxf $DB_name.tar.gz
    cd $DB_name
    make clean
    if [ "`echo $NEW_DB_version | awk -F. '{print $1"."$2}'`" == '5.5' ];then
      cmake . -DCMAKE_INSTALL_PREFIX=$percona_install_dir \
-DMYSQL_DATADIR=$percona_data_dir \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLE_DTRACE=0 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
$EXE_LINKER
    else
      cmake . -DCMAKE_INSTALL_PREFIX=$percona_install_dir \
-DMYSQL_DATADIR=$percona_data_dir \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
$EXE_LINKER
    fi
    make -j `grep processor /proc/cpuinfo | wc -l`
    service mysqld stop
    mv ${percona_install_dir}{,_old_`date +"%Y%m%d"`}
    mv ${percona_data_dir}{,_old_`date +"%Y%m%d"`}
    [ ! -d "$percona_install_dir" ] && mkdir -p $percona_install_dir
    mkdir -p $percona_data_dir;chown mysql.mysql -R $percona_data_dir
    make install
    cd ..
    $percona_install_dir/scripts/mysql_install_db --user=mysql --basedir=$percona_install_dir --datadir=$percona_data_dir
    chown mysql.mysql -R $percona_data_dir
    service mysqld start
    $percona_install_dir/bin/mysql < DB_all_backup_$(date +"%Y%m%d").sql
    service mysqld restart
    $percona_install_dir/bin/mysql -uroot -p${dbrootpwd} -e "drop database test;" >/dev/null 2>&1
    $percona_install_dir/bin/mysql -uroot -p${dbrootpwd} -e "reset master;" >/dev/null 2>&1
    [ $? -eq 0 ] && echo "You have ${CMSG}successfully${CEND} upgrade from ${CMSG}$OLD_DB_version${CEND} to ${CMSG}$NEW_DB_version${CEND}"
  elif [ "$DB" == 'MySQL' ];then
    tar zxf $DB_name.tar.gz
    cd $DB_name
    make clean
    if [ "`echo $NEW_DB_version | awk -F. '{print $1"."$2}'`" == '5.5' ];then
      cmake . -DCMAKE_INSTALL_PREFIX=$mysql_install_dir \
-DMYSQL_DATADIR=$mysql_data_dir \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \
$EXE_LINKER
    else
      cmake . -DCMAKE_INSTALL_PREFIX=$mysql_install_dir \
-DMYSQL_DATADIR=$mysql_data_dir \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \
$EXE_LINKER
    fi
    make -j `grep processor /proc/cpuinfo | wc -l`
    service mysqld stop
    mv ${mysql_install_dir}{,_old_`date +"%Y%m%d"`}
    mv ${mysql_data_dir}{,_old_`date +"%Y%m%d"`}
    [ ! -d "$mysql_install_dir" ] && mkdir -p $mysql_install_dir
    mkdir -p $mysql_data_dir;chown mysql.mysql -R $mysql_data_dir
    make install
    cd ..
    $mysql_install_dir/scripts/mysql_install_db --user=mysql --basedir=$mysql_install_dir --datadir=$mysql_data_dir
    chown mysql.mysql -R $mysql_data_dir
    service mysqld start
    $mysql_install_dir/bin/mysql < DB_all_backup_$(date +"%Y%m%d").sql
    service mysqld restart
    $mysql_install_dir/bin/mysql -uroot -p${dbrootpwd} -e "drop database test;" >/dev/null 2>&1
    $mysql_install_dir/bin/mysql -uroot -p${dbrootpwd} -e "reset master;" >/dev/null 2>&1
    [ $? -eq 0 ] && echo "You have ${CMSG}successfully${CEND} upgrade from ${CMSG}$OLD_DB_version${CEND} to ${CMSG}$NEW_DB_version${CEND}"
  fi
fi
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Can't connect to MySQL server on localhost (10061)解决方法

    首先检查MySQL 服务没有启动>如果没有启动,则要启动这个服务. 昨天,重起服务器后出现MySQL 'localhost' (10061)错误,开始以为是因为数据库链接打开过多,数据库资源耗尽的缘故,但是重启服务器以后,仍旧出现问题,于是在网上查找解决方法.大体如下: 解决办法: 第一步 删除c:\windows\下面的my.ini 第二步 打开c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码 第三步 在dos下 输入 mysqld-nt -remove 删除服

  • Mysql字符串截取函数SUBSTRING的用法说明

    感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(被截取字段,截取长度) 例:select right(content,200

  • MySQL 的CASE WHEN 语句使用说明

    mysql数据库中CASE WHEN语句. case when语句,用于计算条件列表并返回多个可能结果表达式之一. CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果. CASE 搜索函数计算一组布尔表达式以确定结果. 两种格式都支持可选的 ELSE 参数. 语法简单 CASE 函数: 复制代码 代码如下: CASE input_expression    WHEN when_expression THEN result_expression      

  • MySQL提示:The server quit without updating PID file问题的解决办法

    用df命令查了下,果然磁盘满了,因为当时分区采用系统默认,不知道为什么不能自动扩容!以后在处理这个问题!如图所示: 复制代码 代码如下: [root@snsgou ~]# df文件系统                 1K-块      已用      可用 已用% 挂载点/dev/mapper/vg_snsgou-lv_root51606140  47734848   1249852  100%      /tmpfs                  1953396        88  

  • mysql之TIMESTAMP(时间戳)用法详解

    一.TIMESTAMP的变体 TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如: 1.在创建新记录和修改现有记录的时候都对这个数据列刷新: TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 2.在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它: TIMESTAMP DEFAULT CURRENT_TIMESTAMP 3.在创建新记录的时候把这个字段设置为0,以后修改时刷新它: TIMES

  • MySQL创建用户与授权方法

    注:我的运行环境是widnows xp professional + MySQL5.0 一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码

  • mysql 添加索引 mysql 如何创建索引

    1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 3.添加INDEX(普通索引) mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 4.添加FULLTEX

  • 超详细mysql left join,right join,inner join用法分析

    下面是例子分析表A记录如下: aID        aNum 1           a20050111 2           a20050112 3           a20050113 4           a20050114 5           a20050115 表B记录如下: bID        bName 1            2006032401 2           2006032402 3           2006032403 4           20

  • windows下apache+php+mysql 环境配置方法

    一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t.msi openssl表示带有openssl模块,利用openssl可给Apache配置SSL安全链接 2 下载php http://windows.php.net/downloads/releases/archives/ php-5.3.5-Win32-VC6-x86.zip 下载vc6版本 VC

  • MySQL/MariaDB/Percona数据库升级脚本

    MySQL/MariaDB/Percona数据库升级脚本 MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh,一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本之间兼容问题,脚本默认仅支持同一大版本之间的升级,如:MySQL-5.6.25升级到MySQL-5.6.26.MySQL-5.5.44升级到MySQL-5.5.45.MariaDB-10.0.20升级到MariaDB-10.0.21:不能跨分支版本且不能

  • SQLSERVER数据库升级脚本图文步骤

    只能远程协助的方式.我特意做了一个脚本,用电话指导客户在SSMS里执行一下脚本就可以了 1.0的数据库跟1.1的数据库的区别是1.1的数据库里的其中一个[CT_OuterCard]表比1.0的多了6个字段,其他所有表都一样 还有存储过程增加了很多,其他都没有改变 首先,先在公司的服务器数据库上生成存储过程脚本,数据库是1.1版本的,下面的图片里没有说明的,都是默认设置,下一步即可 选中数据库->右键->任务->生成脚本 当然,如果你的数据库里有自定义函数的话,也可以勾选函数,如果我们的数

  • Ubuntu Server下MySql数据库备份脚本代码

    说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/

  • 使用shell脚本每天对MySQL多个数据库自动备份的讲解

    Linux下使用shell脚本,结合crontab,定时备份MySQL下多个数据库,每次备份的数据存放于以日期命名的文件夹中,同时删除超过设定的备份保留时间的数据. 以下例子设定备份保留时间为1个月(-1month),可根据需求修改 #! /bin/bash # MySQL用户 user="root" # MySQL密码 userPWD="123456" # 需要定时备份的数据表列表 dbNames=(db_test1 db_test2 db_test3 db_te

  • MySQL数据库升级的一些"陷阱"

    对于商业数据库而言,数据库升级是一个优先级很高的事情,有版本升级路线图,有相应的补丁,而且对于方案还有一系列的演练,显然是一场硬仗.而在MySQL方向上,升级这件事情就被淡化了许多,好像只能证明它的存在而已,当然正是由于这种不重视,也让我今天走了不少弯路. 一般来说,升级MySQL有两类可行方案,一类是直接升级数据字典,在本机完成,整个过程会有离线操作,会对业务有中断,第二种是通过高可用切换平滑实现,原理是搭建低版本到高版本的数据复制关系,这种方案优势比较明显,对于业务的侵入性最低,而且还可以提

  • Openstack 使用migrate进行数据库升级实现方案详细介绍

    Openstack 使用migrate进行数据库升级实现方案详细介绍 OpenStack中随着版本的切换,新版本加入一些数据库表或者增加字段等是必然的事情,如何比较容易的进行这些数据库升级的适配和管理,这里就要用到oslo_db中的migrate了,这里以为M版本的heat为例,讲解一下migrate管理db的原理. 我们使用migrate需要用到的主要包含以下两部分:1.versions里面的为版本号+数据库适配脚本:2.migrate.cfg为migrate需要用到的配置文件,两部分的命名是

  • 超越MySQL 对流行数据库进行分支的知识小结

    简 介 MySQL 是历史上最受欢迎的免费开源程序之一.它是成千上万个网站的数据库骨干,并且可以将它(和 Linux®)作为过去 10 年里 Internet 呈指数级增长的一个有力证明. 那么,如果 MySQL 真的这么重要,为什么还会出现越来越多的核心 MySQL 产品的高端衍生产品?这是因为 MySQL 是免费的开源应用程序,所以开发人员总是可以获得其代码,并按照自己的想法修改代码,然后再自行分发代码.在很长的一段时间里,在开发人员自己的生产环境 中,没有任何值得信任的 MySQL 分支.

  • MySQL/MariaDB中如何支持全部的Unicode

    目录 utf8mb4介绍 utf8字节数超出的报错 utf8mb4支持 将默认字符编码设置为utf8mb4,及对应排序规则. 查看当前编码 修改MySQL/Mariadb的配置文件,将utf8编码改为utf8mb4 重启MySQL/MariaDB 再次查看字符集和排序规则 character_set_filesystem和character_set_system的说明 关于字符集设置的其他参考 现有数据库切换字符集到utf8mb4的完整过程 参考 永远不要在 MySQL 中使用 utf8,并且始

  • Mysql/MariaDB启动时处于进度条状态导致启动失败的原因及解决办法

    今天打开网站突然发现网站无法打开,后来通过SSH登陆服务器发现MARIADB数据库没有启动成功,再次启动还是无法成功启动,一直处于启动进度条,进度条结束后提示ERROR.查看日志出现以下错误: InnoDB: Unable to lock ./ibdata1, error: 11 后经调试发现是因为MariaDB数据库所在分区已经满了,造成无法启动. 只有将MariaDB数据库存放数据目录移动到另外一个磁盘份额比较大的分区或者将当前分配删除一些不必要的文件. 移动办法: 1.停掉mysql服务器

  • Python实现一个转存纯真IP数据库的脚本分享

    前言 之前写过很多关于扫描脚本的文章,一直都没写自己的扫描IP段是哪里搞来的,也会有朋友经常来问一些扫描经验,说实话我觉得这个工具并没有实际的技术含量,但是能提高工作效率,就共享出来给大家耍耍- 谈到扫描经验,我个人通常都会针对不同的设备,不同的应用选择不同类型的段. 比如我现在扫描的目标是一款电信光猫,那自然是选择电信的IP段,光猫一般是家庭用户,我们筛选下家庭用户的活跃IP段,这样我们就有针对性了. 再比如我现在想扫一款企业路由设备,那么我就可以选择企业公司多的段. 纯真IP真心是个不错的工

随机推荐