首页 数据库 mysql教程 【MySQL运维】MySQL5.1升级到MySQ 5.5实战

【MySQL运维】MySQL5.1升级到MySQ 5.5实战

Jun 07, 2016 pm 05:37 PM
mysql Mysql升级

之前公司大部分项目都上了5.5版本,手上刚好有个项目(自由交易平台)数据量不是很大,单台服务器在线上跑得比较稳定,很少去搭理,为了统一版本于是打算升级到MyS



#注释掉default_table_type = MyISAM   在5.5里已经不识别了

#注释掉myisam_max_extra_sort_file_size  在5.5里已经不识别了


#innodb_file_io_threads已经不识别了,改成

innodb_read_io_threads = 8

innodb_write_io_threads = 8


# 提高刷新脏页数量和合并插入数量,改善磁盘IO处理能力,根据自己的磁盘IOPS能力调整

innodb_io_capacity = 2000


# 把以前的built-in文件格式Antelope改为Barracuda

innodb_file_format = Barracuda


# 脏页的调整,从以前的25改为90,这个值可在70--90之间选取

innodb_max_dirty_pages_pct  = 90


# 事务日志redo log的调整,从以前的256M改为1024M

innodb_log_file_size = 1024


# 采用独立表空间

innodb_file_per_table = 1


重启MySQL服务生效:

[root@db_fb05 mysql-5.1.62]# service mysqld restart

Shutting down MySQL. SUCCESS!

Starting MySQL.. SUCCESS!

[root@db_fb05 mysql-5.1.62]#



二、升级具体步骤


升级前有一个重要参数需要注意:innodb_fast_shutdown

升级前要关闭这个功能(为什么要关请参考手册):

(root:opdba.com:Sat Dec  1 18:14:48 2012)[(none)]> show variables like '%fast%';

+----------------------+-------+

| Variable_name        | Value |

+----------------------+-------+

| innodb_fast_shutdown | 1     |

+----------------------+-------+

1 row in set (0.00 sec)


(root:opdba.com:Sat Dec  1 18:35:20 2012)[(none)]> set global  innodb_fast_shutdown=0;

Query OK, 0 rows affected (0.00 sec)


(root:opdba.com:Sat Dec  1 18:35:43 2012)[(none)]> show variables like '%fast%';

+----------------------+-------+

| Variable_name        | Value |

+----------------------+-------+

| innodb_fast_shutdown | 0     |

+----------------------+-------+

1 row in set (0.00 sec)


1.停止当前MySQL服务

service mysqld stop


2.链接到新MySQL目录

cd /opt/webserver/

unlink mysql

ln -sv mysql-5.5.34-linux2.6-x86_64 mysql


3.启动服务

service mysqld start


4.执行更新程序升级

/opt/webserver/mysql/bin/mysql_upgrade

Looking for 'mysql' as: /opt/webserver/mysql/bin/mysql

Looking for 'mysqlcheck' as: /opt/webserver/mysql/bin/mysqlcheck

Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/data/mysql/mysql.sock'

/opt/webserver/mysql/bin/mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' (111) when trying to connect

FATAL ERROR: Upgrade failed


出现上面错误是由于当前MySQL服务器的root用户设置了密码,mysql_upgrade 加上-p参数批量root用户密码即可:

/opt/webserver/mysql/bin/mysql_upgrade -padmin

Looking for 'mysql' as: /opt/webserver/mysql/bin/mysql

Looking for 'mysqlcheck' as: /opt/webserver/mysql/bin/mysqlcheck

Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/data/mysql/mysql.sock'

Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/data/mysql/mysql.sock'

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.host                                         OK

mysql.ndb_binlog_index                             OK

mysql.plugin                                       OK

mysql.proc                                         OK

mysql.procs_priv                                   OK

mysql.proxies_priv                                 OK

mysql.servers                                      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'...

OK


出现上面信息就说明升级OK!

查看下当前的版本:

[root@db_fb010 ~]# /opt/webserver/mysql/bin/mysql -V

Logging to file '/data/mysql/logs/query.log'

/opt/webserver/mysql/bin/mysql  Ver 14.14 Distrib 5.5.34, for linux2.6 (x86_64) using readline 5.1


mysql_upgrade命令实际执行了以下操作:

mysqlcheck --all-databases --check-upgrade --auto-repair

mysql

mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-table-names


5.存储过程问题修复

从5.1升级至5.5后,发现存储过程不能用的,创建存储过程和查看存储过程状态,会报如下错:

(root:opdba.com:Sat Dec  1 18:14:48 2012)[(none)]> show procedure status;
ERROR 1548 (HY000): Cannot load from mysql.proc. The table is probably corrupted


通过上述报错,,立马查看两边表 proc 的状态发现:show create table proc\G------>

在5.1中mysql.proc表的comment字段是char(64):

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
laravel入门实例 laravel入门实例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resources/views 中创建视图以呈现应用程序的界面。数据库集成: 提供与 MySQL 等数据库的开箱即用集成,并使用迁移来创建和修改表。模型和控制器: 模型表示数据库实体,控制器处理 HTTP 请求。

MySQL和PhpMyAdmin:核心功能和功能 MySQL和PhpMyAdmin:核心功能和功能 Apr 22, 2025 am 12:12 AM

MySQL和phpMyAdmin是强大的数据库管理工具。1)MySQL用于创建数据库和表、执行DML和SQL查询。2)phpMyAdmin提供直观界面进行数据库管理、表结构管理、数据操作和用户权限管理。

MySQL与其他编程语言:一种比较 MySQL与其他编程语言:一种比较 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

laravel框架安装方法 laravel框架安装方法 Apr 18, 2025 pm 12:54 PM

文章摘要:本文提供了详细分步说明,指导读者如何轻松安装 Laravel 框架。Laravel 是一个功能强大的 PHP 框架,它 упростил 和加快了 web 应用程序的开发过程。本教程涵盖了从系统要求到配置数据库和设置路由等各个方面的安装过程。通过遵循这些步骤,读者可以快速高效地为他们的 Laravel 项目打下坚实的基础。

在MySQL中解释外键的目的。 在MySQL中解释外键的目的。 Apr 25, 2025 am 12:17 AM

在MySQL中,外键的作用是建立表与表之间的关系,确保数据的一致性和完整性。外键通过引用完整性检查和级联操作维护数据的有效性,使用时需注意性能优化和避免常见错误。

比较和对比Mysql和Mariadb。 比较和对比Mysql和Mariadb。 Apr 26, 2025 am 12:08 AM

MySQL和MariaDB的主要区别在于性能、功能和许可证:1.MySQL由Oracle开发,MariaDB是其分支。2.MariaDB在高负载环境中性能可能更好。3.MariaDB提供了更多的存储引擎和功能。4.MySQL采用双重许可证,MariaDB完全开源。选择时应考虑现有基础设施、性能需求、功能需求和许可证成本。

SQL与MySQL:澄清两者之间的关系 SQL与MySQL:澄清两者之间的关系 Apr 24, 2025 am 12:02 AM

SQL是一种用于管理关系数据库的标准语言,而MySQL是一个使用SQL的数据库管理系统。SQL定义了与数据库交互的方式,包括CRUD操作,而MySQL实现了SQL标准并提供了额外的功能,如存储过程和触发器。

MySQL:数据库,PHPMYADMIN:管理接口 MySQL:数据库,PHPMYADMIN:管理接口 Apr 29, 2025 am 12:44 AM

MySQL和phpMyAdmin可以通过以下步骤进行有效管理:1.创建和删除数据库:在phpMyAdmin中点击几下即可完成。2.管理表:可以创建表、修改结构、添加索引。3.数据操作:支持插入、更新、删除数据和执行SQL查询。4.导入导出数据:支持SQL、CSV、XML等格式。5.优化和监控:使用OPTIMIZETABLE命令优化表,并利用查询分析器和监控工具解决性能问题。

See all articles