• Mysql5.1.50升级到5.1.63


    Mysql5.1.50升级到5.1.63

        http://sebug.net查看到mysql的最新漏洞CVE-2012-2749,这个漏洞允许已验证用户通过错误计算和排序索引造成拒绝服务,mysqld崩溃。Mysql 5.1.63之前的5.1.x版本和5.5.24之前的5.5.x版本都存在这个漏洞。目前公司生产环境用的是5.1.50,刚好也存在此漏洞,因此需要对mysql进行升级来提高mysql服务器的安全。具体的漏洞见链接:http://sebug.net/vuldb/ssvid-60344
        下面就是此次mysql升级的详细步骤,希望存在此漏洞的朋友能引起重视,早日将mysql升级到没有此漏洞的版本。
    1.   确认Mysql的版本
    有的朋友可能不知道自己的数据库用的什么版本,那么可以使用如下命令来查看:
    SELECT VERSION();
    SHOW VARIABLES LIKE 'version';
    2.   备份数据库中的数据
    使用mysqldump将数据库中的数据进行备份,因为我的只有innodb,因此采用如下备份命令:
    mysqldump -uroot -p --single-transaction --events --triggers --routines --flush-logs --master-data=2 --all-databases > db.sql
    3.   下载Mysql 5.1.63版本
    wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.63.tar.gz
    4.   安装Mysql 5.1.63版本
    安装的时候记得查看/usr/local/mysql/bin/mysqlbug文件中以前的编译参数(注意根据编译的目录不同更改对应的目录),使用如下命令:
    cat /usr/local/mysql/bin/mysqlbug  | grep configure
    编译安装新版本的数据库的时候和以前使用的参数保持一致。
    tar xzvf mysql-5.1.63.tar.gz
    cd mysql-5.1.63
    ./configure  '--prefix=/usr/local/mysql' '--localstatedir=/data/dbdata/' '--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock' '--with-charset=utf8' '--with-extra-charsets=complex' '--with-pthread' '--enable-thread-safe-client' '--with-ssl' '--with-client-ldflags=-all-static' '--with-mysqld-ldflags=-all-static' '--with-plugins=partition,federated,innobase,csv,blackhole,myisam,innodb_plugin,heap,archive' '--enable-shared' '--enable-assembler'
    make
    make install
    5.   重启mysql服务
    因为是小版本升级,因此不需要升级权限表,直接重启mysql就可以了。
    /etc/rc.d/init.d/mysqld restart


    升级完成以后可以使用前面提到的查看版本的命令来查看mysql的版本,看看是否显示的是新版本,至此mysql小版本的升级就完成了,整个过程停机时间根据mysql重启的时间而定。

     

    附上直接升级的脚本,如果要采用此脚本进行升级请确认你的编译参数是否和脚本中的一致(尤其是数据库的目录以及数据目录),执行完脚本以后重启你的mysql即可。脚本内容如下:


     

    点击(此处)折叠或打开

    1. #!/bin/bash
    2. echo "-----------------------start install mysql----------------------"
    3. yum -y install gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel libtool*
    4. mkdir -p /data/dbdata
    5. if [ `grep "mysql" /etc/passwd | wc -l` -eq 0 ];then
    6. echo "adding user mysql"
    7. /usr/sbin/groupadd mysql
    8. /usr/sbin/useradd -g mysql mysql
    9. else
    10. echo "mysql user is exist"
    11. fi
    12. wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.63.tar.gz
    13. echo "tar xzvf mysql-5.1.63.tar.gz"
    14. tar xzvf mysql-5.1.63.tar.gz
    15. cd mysql-5.1.63
    16. echo "configuring mysql,please wait-----------------"
    17. ./configure '--prefix=/usr/local/mysql' '--localstatedir=/data/dbdata/' '--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock' '--with-charset=utf8' '--with-extra-charsets=complex' '--with-pthread' '--enable-thread-safe-client' '--with-ssl' '--with-client-ldflags=-all-static' '--with-mysqld-ldflags=-all-static' '--with-plugins=partition,federated,innobase,csv,blackhole,myisam,innodb_plugin,heap,archive' '--enable-shared' '--enable-assembler'
    18. if [ $? -ne 0 ];then
    19. echo "configure filed ,please check it out!"
    20. exit 1
    21. fi
    22. echo "make mysql, please wait for 20 minutes"
    23. make
    24. if [ $? -ne 0 ];then
    25. echo "make filed ,please check it out!"
    26. exit 1
    27. fi
    28. make install
    29. chown -R mysql:mysql /usr/local/mysql
    30. chown -R mysql.mysql /data/dbdata/
    31. echo "mysql update successful,please restart your mysql"


     

     

  • 相关阅读:
    (原创)神舟笔记本bios设置——神船战神ZX7-CP7S2 <一>
    Kali笔记<三> 安装中文输入法
    (原创)Kali笔记<二>root权限的使用和启用
    (原创)Kali笔记<一>虚拟机安装Kali
    加快vmware虚拟机运行速度的方法(大牛勿笑)
    PR/AE/PS 素材模板网站
    批量查杀该死的VBscript “svchost.exe” 脚本挂马
    echarts统计图Y轴(或X轴)文字过长问题解决
    正则实例
    Angular.js的自定义功能
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7169797.html
Copyright © 2020-2023  润新知