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

之前公司大部分项目都上了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 procG——>

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1866867.html

(0)
上一篇 2025年2月22日 07:32:01
下一篇 2025年2月22日 07:32:17

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • navicate连接mysql数据库报错了怎么办

    问题描述: 安装好navicate后连接mysql出现如下图所示错误: 解决方法: 1、打开命令提示符,输入命令进入mysql 2、输入命令【ALTER USER ‘root’@’localhost&#8…

    2025年2月23日 数据库
    100
  • navicat如何查看mysql的操作记录

    出于好奇,想在navicat中查看mysql的操作记录,特此记录一下。 (学习视频分享:编程入门) 其实方法很简单,连接一个库,用快捷键Ctrl+H就好了。 你瞧,这历史日志就出来了。 如果快捷键有冲突的话,那么就点击左上角的【工具】,选择…

    2025年2月23日
    100
  • navicat如何查看mysql日志

    navicat查看mysql日志的具体方法: 1、使用Navicat服务器监控工具 2、打开日志开关 右边参数设置变量”log”值为”ON” 3、定位日志位置,查看日志 4、执行SQL注入语句…

    2025年2月23日 数据库
    100
  • navicat怎么建立数据库

    Navicat 建立数据库的步骤包括:连接到数据库服务器。创建数据库。设置数据库选项。创建表。插入数据。 如何使用 Navicat 建立数据库 步骤 1:连接到数据库服务器 打开 Navicat,点击“连接”菜单,选择“MySQL”。在“连…

    2025年2月23日
    100
  • 怎么用navicat创建一个数据库

    如何使用 Navicat 创建数据库?连接到 MySQL 服务器,输入连接信息并验证连接。右键单击连接,选择“新建数据库”并输入数据库名称。可选:右键单击数据库,选择“属性”以设置数据库属性。右键单击数据库,选择“新建表”并填写表名、字段和…

    2025年2月23日
    100
  • navicat怎么连接localhost

    通过 Navicat 连接 localhost 需按以下步骤操作:打开 Navicat 并新建连接。选择 MySQL 连接类型。输入主机名 localhost、默认端口 3306、默认用户名 root 和密码。测试连接以确保成功。保存连接并…

    2025年2月23日
    100
  • navicat怎么连接其他人的数据库

    在 Navicat 中连接他人的数据库,需要以下步骤:获取数据库连接信息(主机名、数据库名称、用户名、密码、端口号);在 Navicat 中创建连接,选择数据库类型并配置连接参数;测试连接并保存连接信息,即可访问他人的数据库。 如何使用 N…

    2025年2月23日
    100
  • navicat怎么连接myeclipse

    MyEclipse 中连接 Navicat 的步骤:打开 MyEclipse 并单击“数据库资源管理器”图标。右键单击“数据库连接”,选择“新建”。选择数据库供应商,输入连接详细信息(URL、用户名、密码等)。单击“测试连接”验证,然后保存…

    2025年2月23日
    100
  • navicat到期了怎么办

    Navicat到期后,用户可选择续订许可证保持所有功能,降级至免费版获得基本功能,或寻找如MySQL Workbench等免费替代工具。具体选择取决于所需的数据库管理功能、预算和时间限制。 Navicat到期后的解决方法 引言Navicat…

    2025年2月23日
    100
  • navicatpremium怎么用

    Navicat Premium 数据库管理工具的使用包含以下步骤:安装并创建连接;查看和编辑数据,包括双击行查看数据值和单击“编辑”按钮修改字段值;管理数据库,可创建、删除数据库和表;查询数据,新建查询并执行查询,查看查询结果;其他功能如导…

    2025年2月23日
    100

发表回复

登录后才能评论