zoukankan      html  css  js  c++  java
  • mysql 5.6升级至mysql 5.7及数据转移过程记录

     

    原mysql安装版本:5.6.28,安装使用包:mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz

    升级后mysql版本:5.7.22,安装使用包:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
     
    停服务,备走数据文件
    /etc/init.d/mysqld stop
    mv /opt/mysql /tmp/mysql.bak

    快速部署mysql 5.7

    useradd -s /sbin/nologin mysql
    tar -xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
    mv mysql-5.7.22-linux-glibc2.12-x86_64 /opt/mysql
    chown -R mysql.mysql mysql
    
    #初始化
    /opt/mysql/bin/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/opt/mysql/ --datadir=/opt/mysql/data --user=mysql
    
    #还原备份数据库
    #备份5.7数据库的/data目录为data_57
    mv /opt/mysql/data /opt/mysql/data_57
    
    #还原5.6 数据 /data
    cp -rp /tmp/mysql.bak/data /opt/mysql/
    cp -rp  /opt/mysql/data_57/performance_schema /opt/mysql/data
    rm -rf /opt/mysql/data/ib_logfile*
    chown -R mysql.mysql /opt/mysql/
    
    #重启
    /etc/init.d/mysqld restart
    
    注:此时新的mysql 5.7系统用户信息全是mysql5.6转移过来的
    
    #升级数据字典、系统表
    ./bin/mysql_upgrade -uroot -p
    
    #登录mysql更新/创建账号信息
    mysql> update mysql.user set authentication_string=password('Vdanny@123#sHG') where user="root" and host="localhost";
    
    mysql> grant all on *.* to 'root'@'%' identified by  'Vdanny@123#sHG';
    mysql> flush privileges;
    
    #完成,登录测试还原数据是否完整
    mysql -uroot -p -h 192.168.1.10
    至此,完成快速mysql 5.6至mysql 5.7的升级操作及数据转移
    好记性不如烂笔头,最难不过坚持
  • 相关阅读:
    各种素材类精品网站
    Java如何设置代理ip
    Spring事务的实现方式和原理以及隔离级别?
    Spring 是什么?
    线程池中阻塞队列的作用?为什么是先添加队列而不是先创建最大线程?
    为什么用线程池?解释下线程池参数
    并发三大特性
    ThreadLocal的原理和使用场景。
    谈谈对线程安全的理解
    sleep,wait,join,yield
  • 原文地址:https://www.cnblogs.com/dannylinux/p/15497819.html
Copyright © 2011-2022 走看看