mysql 5.6升级到5.7

一、编译源码包

1.先从mysql官网下载源码包,然后我这边是自己在测试机编译成安装包上传到相应的服务器上再去升级的。

   1)下载源码包


     2)安装编译代码所需要的包

          yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

     3)从5.7.5开始Boost库是必须的,下载相应的包

         wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

      4)解压相应的包

          tar -zxvf boost_1_59_0.tar.gz
          tar -zxvf mysql-5.7.21.tar.gz

          mv boost_1_59_0 /usr/local/boost_1_59_0

      5)用cmake编译安装

           cd mysql-5.7.21

           cmake -DCMAKE_INSTALL_PREFIX=/mysql \
            -DMYSQL_DATADIR=/data/mysqldata \
            -DSYSCONFDIR=/etc \
            -DMYSQL_UNIX_ADDR=/data/binlog/mysql.sock \
            -DMYSQL_TCP_PORT=3306 \
            -DWITH_BOOST=/usr/local/boost_1_59_0 \
            -DDEFAULT_CHARSET=utf8 \
            -DDEFAULT_COLLATION=utf8_general_ci \
            -DWITH_MYISAM_STORAGE_ENGINE=1 \
            -DWITH_INNOBASE_STORAGE_ENGINE=1 \
            -DWITH_MEMORY_STORAGE_ENGINE=1 \
            -DWITH_READLINE=1 \
            -DENABLED_LOCAL_INFILE=1 \
            -DWITH_PARTITION_STORAGE_ENGINE=1 \
            -DEXTRA_CHARSETS=all \
            -DWITH_SSL:STRING=bundled \
            -DWITH_ZLIB:STRING=bundled \  

            

      6)执行编译和安装

          make && make install

         如果出错后重新运行配置,需要删除CMakeCache.txt文件

         make clean

         rm -f CMakeCache.txt

      7)至此,编译完成,现在我们可以把/mysql下的文件打包成一个安装包,然后上传到要升级的服务器

           tar -czvf /root/mysql-5.7.21.tar.gz /mysql 

二、升级MySQL数据库(5.6到5.7),在升级前切记备份数据库

      1)关闭数据库

           mysql -uroot -p --execute="SET GLOBAL innodb_fast_shutdown=0"

           mysqladmin -uroot -p shutdown

          官网对innodb_fast_shutdown解释

       2)对软件,数据库进行备份

           mv /mysql /mysql5.6

           cp -R /mysql/mysqldata  /backup/mysqldata

      3)解压上传过来的安装包

         tar -zxvf mysql-5.7.21.tar.gz

         chown -R mysql:mysql /mysql

      4)开启5.7服务

            mysqld_safe --user=mysql --datadir=/data/mysqldata

      5)升级mysql_upgrade 

            mysql_upgrade -u root -p

            mysql -u root mysql < fill_help_tables.sql    (这张表需要手动更新)

      6)重启数据库

           mysqladmin -u root -p shutdown

           mysqld_safe --user=mysql --datadir=/data/mysqldata

      7)替换启动脚本

           cp /mysql/support-files/mysql.server  /etc/init.d/mysqld

           chkconfig --del mysqld           

           chkconfig --add mysqld

           chkconfig mysqld on

        8)使用启动脚本重启一次

             mysqladmin -uroot -p shutdown
             /etc/init.d/mysqld start

      

猜你喜欢

转载自blog.csdn.net/j_ychen/article/details/79924853