mysql 5.6.15升级到5.6.43
今天闲来无事,观察测试环境的zabbix服务器,发现内存泄漏严重,于是重启了,想起了前几天写的帖子发生了严重的内存泄漏可以把mysql升级到最新的小版本
于是乎就试着升级
old version:5.6.15-log
new version:5.6.43-log
下载官方二进制安装包
mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
以前有直接升级的文档,今天想根据官方的文档来
MySQL 5.6 Reference Manual
这个文档很详细,分别列出了升级和降级的详细步骤和需要关注的地方,这些英文也比较简单,对比这看也还是比较容易
MySQL Upgrade Strategies ##mysql升级的策略
Upgrade Methods ##升级方式
Upgrade Paths ##升级途径
Before You Begin ##升级前要做的准备
In-Place Upgrade ##"原地"升级,类似于表做ddl时候有些in-place的意思
Logical Upgrade ##逻辑升级,mysqldump方式
Upgrade Troubleshooting ##升级后的一些问题解决
In-Place Upgrade,Logical Upgrade这两种升级方式要重启mysql,当然对于我们线上的业务有些是不允许的,就可以做M-S,主从升级
Upgrading a Replication Setup
这个文档还是比较详细,特别是在升级前的一些参数,比如5.5升级到5.6,那些参数是新增,删减,default值的等待需要注意的地方
建议在做升级前,都需要详细的阅读此部分,再做详细的测试,再考虑升级的事情。
--下面是mysql 5.6.15 升级到5.6.43的小版本升级
--如果是5.5升级到5.6,或者5.6升级到5.7,最好先阅读MySQL Upgrade Strategies
[mysql@mysqlhq ~]$ cd /home/data/mysqldata/scripts/ [mysql@mysqlhq scripts]$ ./mysql_db_shutdown.sh shutdown mysql service:localhost_3306 Warning: Using a password on the command line interface can be insecure. [mysql@mysqlhq scripts]$ 190423 15:33:09 mysqld_safe mysqld from pid file /home/data/mysqldata/3306/data/mysqlhq.pid ended [root@mysqlhq soft]# tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ [root@mysqlhq soft]# cd /usr/local/ [root@mysqlhq local]# ln -s mysql-5.6.43-linux-glibc2.12-x86_64 mysql [root@mysqlhq local]# chown -R mysql:mysql /usr/local/mysql/ [mysql@mysqlhq scripts]$ ./mysql_db_startup.sh startup mysql service:localhost_3306 [mysql@mysqlhq scripts]$ 190423 15:46:22 mysqld_safe Logging to '/home/data/mysqldata/3306/log/mysql-error.log'. 190423 15:46:22 mysqld_safe Starting mysqld daemon with databases from /home/data/mysqldata/3306/data [mysql@mysqlhq scripts]$ tail -n 100 /home/data/mysqldata/3306/log/mysql-error.log 190423 15:33:09 mysqld_safe mysqld from pid file /home/data/mysqldata/3306/data/mysqlhq.pid ended 190423 15:46:22 mysqld_safe Logging to '/home/data/mysqldata/3306/log/mysql-error.log'. 190423 15:46:22 mysqld_safe Starting mysqld daemon with databases from /home/data/mysqldata/3306/data 2019-04-23 15:46:22 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled 2019-04-23 15:46:22 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.43-log) starting as process 25122 ... 2019-04-23 15:46:22 25122 [Note] Plugin 'FEDERATED' is disabled. 2019-04-23 15:46:22 25122 [Note] InnoDB: Using atomics to ref count buffer pool pages 2019-04-23 15:46:22 25122 [Note] InnoDB: The InnoDB memory heap is disabled 2019-04-23 15:46:22 25122 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2019-04-23 15:46:22 25122 [Note] InnoDB: Memory barrier is not used 2019-04-23 15:46:22 25122 [Note] InnoDB: Compressed tables use zlib 1.2.11 2019-04-23 15:46:22 25122 [Note] InnoDB: Using CPU crc32 instructions 2019-04-23 15:46:22 25122 [Note] InnoDB: Initializing buffer pool, size = 6.0G 2019-04-23 15:46:23 25122 [Note] InnoDB: Completed initialization of buffer pool 2019-04-23 15:46:23 25122 [Note] InnoDB: Highest supported file format is Barracuda. 2019-04-23 15:46:24 25122 [Note] InnoDB: 128 rollback segment(s) are active. 2019-04-23 15:46:24 25122 [Note] InnoDB: Waiting for purge to start 2019-04-23 15:46:24 25122 [Note] InnoDB: 5.6.43 started; log sequence number 104761307544 2019-04-23 15:46:24 25122 [Note] Server hostname (bind-address): '*'; port: 3306 2019-04-23 15:46:24 25122 [Note] IPv6 is available. 2019-04-23 15:46:24 25122 [Note] - '::' resolves to '::'; 2019-04-23 15:46:24 25122 [Note] Server socket created on IP: '::'. 2019-04-23 15:46:24 25122 [Warning] 'proxies_priv' entry '@ root@mysqlhq' ignored in --skip-name-resolve mode. 2019-04-23 15:46:24 25122 [Note] Event Scheduler: Loaded 0 events 2019-04-23 15:46:24 25122 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: '5.6.43-log' socket: '/home/data/mysqldata/3306/mysql.sock' port: 3306 MySQL Community Server (GPL) 2019-04-23 15:46:24 25122 [Note] Event Scheduler: scheduler thread started with id 1 [mysql@mysqlhq scripts]$ mysql_upgrade -uroot -p -S /home/data/mysqldata/3306/mysql.sock Enter password: Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Error: Server version (5.6.43-log) does not match with the version of the server (5.6.15) with which this program was built/distributed. You can use --skip-version-check to skip this check. FATAL ERROR: Upgrade failed [mysql@mysqlhq scripts]$ mysql_upgrade -uroot -p -S /home/data/mysqldata/3306/mysql.sock --skip-version-check Enter password: Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck' with connection arguments: '--socket=/home/data/mysqldata/3306/mysql.sock' Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck' with connection arguments: '--socket=/home/data/mysqldata/3306/mysql.sock' Warning: Using a password on the command line interface can be insecure. mysql.columns_priv OK mysql.db OK mysql.event OK mysql.func OK mysql.general_log OK mysql.help_category OK mysql.help_keyword OK mysql.help_relation OK mysql.help_topic OK mysql.innodb_index_stats OK mysql.innodb_table_stats OK mysql.ndb_binlog_index OK mysql.plugin OK mysql.proc OK mysql.procs_priv OK mysql.proxies_priv OK mysql.servers OK mysql.slave_master_info OK mysql.slave_relay_log_info OK mysql.slave_worker_info OK mysql.slow_log OK mysql.tables_priv OK mysql.time_zone OK mysql.time_zone_leap_second OK mysql.time_zone_name OK mysql.time_zone_transition OK mysql.time_zone_transition_type OK mysql.user OK Running 'mysql_fix_privilege_tables'... Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck' with connection arguments: '--socket=/home/data/mysqldata/3306/mysql.sock' Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck' with connection arguments: '--socket=/home/data/mysqldata/3306/mysql.sock' Warning: Using a password on the command line interface can be insecure. test.TB1 OK ... zabbix.timeperiods OK zabbix.trends OK zabbix.trends_uint OK zabbix.trigger_depends OK zabbix.trigger_discovery OK zabbix.trigger_tag OK zabbix.triggers OK zabbix.users OK zabbix.users_groups OK zabbix.usrgrp OK zabbix.valuemaps OK OK [mysql@mysqlhq scripts]$ ./mysql_db_shutdown.sh shutdown mysql service:localhost_3306 Warning: Using a password on the command line interface can be insecure. [mysql@mysqlhq scripts]$ ps -ef|190423 15:50:21 mysqld_safe mysqld from pid file /home/data/mysqldata/3306/data/mysqlhq.pid ended [mysql@mysqlhq scripts]$ ps -ef|grep mysql root 23898 1975 0 15:38 pts/0 00:00:00 su - mysql mysql 23899 23898 0 15:38 pts/0 00:00:00 -bash mysql 25557 23899 0 15:50 pts/0 00:00:00 ps -ef mysql 25558 23899 0 15:50 pts/0 00:00:00 grep --color=auto mysql [mysql@mysqlhq scripts]$ ./mysql_db_startup.sh startup mysql service:localhost_3306 [mysql@mysqlhq scripts]$ 190423 15:50:35 mysqld_safe Logging to '/home/data/mysqldata/3306/log/mysql-error.log'. 190423 15:50:35 mysqld_safe Starting mysqld daemon with databases from /home/data/mysqldata/3306/data [mysql@mysqlhq scripts]$ ps -ef|grep mysql root 23898 1975 0 15:38 pts/0 00:00:00 su - mysql mysql 23899 23898 0 15:38 pts/0 00:00:00 -bash mysql 25563 1 0 15:50 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/home/data/mysqldata/3306/my.cnf mysql 26433 25563 5 15:50 pts/0 00:00:01 /usr/local/mysql/bin/mysqld --defaults-file=/home/data/mysqldata/3306/my.cnf --basedir=/usr/local/mysql --datadir=/home/data/mysqldata/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/home/data/mysqldata/3306/log/mysql-error.log --open-files-limit=65535 --pid-file=mysqlhq.pid --socket=/home/data/mysqldata/3306/mysql.sock --port=3306 mysql 26527 23899 0 15:51 pts/0 00:00:00 ps -ef mysql 26528 23899 0 15:51 pts/0 00:00:00 grep --color=auto mysql [mysql@mysqlhq scripts]$ ./mysqlplus.sh login mysql service:localhost_3306 Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 32 Server version: 5.6.43-log MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. (system@127.0.0.1:3306) [(none)]> select @@version; +------------+ | @@version | +------------+ | 5.6.43-log | +------------+ 1 row in set (0.00 sec)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构