您的位置:首页 > 数据库 > MySQL

采用MySQL_upgrade升级授权表方式升级

2016-07-13 22:49 447 查看
1.7.1 采用MySQL_upgrade升级授权表方式升级(1)

这种升级方式比较省事,通过MySQL_upgrade命令即可完成。下面来演示一下整个升级过程。

1)修改my.cnf配置文件,因为MySQL5.1里的参数在5.5版本里已经不识别了。

#skip-locking 在5.5里已经不识别了,改成

skip-external-locking

#log-long-format 在5.5里已经不识别了,改成

log-short-format

#log_slow_queries 在5.5里已经不识别了,改成

slow-query-log

#default-character-set = utf8 在5.5里已经不识别了,改成

character-set-server = utf8

#注释掉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

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

innodb_file_format = Barracuda

#注释掉同步的信息,否则启动时报错

#master-host = 192.168.110.20

#master-user = repl

#master-password = repl

#master-connect-retry=30

#另如果你采用了InnoDB-Plugin,还要注销掉

#ignore_builtin_innodb

#plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_i

nnodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_c

mpmem_reset=ha_innodb_plugin.so

2)修改innodb_fast_shutdown等于0。先来看一下这个参数是做什么的。





解释:关闭MySQL时,设置为1,不会做清除脏页和插入缓冲区合并操作,也不会把脏页刷入磁盘。设置为0,会做清除脏页和插入缓冲区合并操作,并把脏页刷入磁盘,如此设置关闭速度是最慢的。设置为2,不会做清除脏页和插入缓冲区合并操作,也不会把脏页刷入磁盘,而是刷入redo log事务日志里,待其下次启动MySQL时再恢复,关闭速度是最快的。在做升级或降级操作时,应将其设置为0,保证数据的完整性,避免发生错误。该参数支持动态修改。

设置该参数的命令如下:

set global innodb_fast_shutdown=0;

关于innodb_fast_shutdown 参数的介绍,请参见MySQL5.5手册:





3)关闭MySQL服务,命令如下:

/etc/init.d/MySQL stop或MySQLadmin -uroot -p123456 shutdown

4)跳过MySQL授权表启动MySQL服务,命令如下:

MySQLd --defaults-file=/etc/my.cnf --skip-grant-tables &

5)执行更新程序,如下所示:

[root@vm02 MySQL]# /usr/local/MySQL/bin/MySQL_upgrade

Looking for 'MySQL' as: bin/MySQL

Looking for 'MySQLcheck' as: bin/MySQLcheck

Running 'MySQLcheck' with connection arguments: '--port=3306' '--socket=/tmp/MySQL.sock'

Running 'MySQLcheck' with connection arguments: '--port=3306' '--socket=/tmp/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.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

test.heartbeat OK

test.log20111127 OK

test.log20111128 OK

test.log20111129 OK

test.log20111130 OK

test.log20111201 OK

test.log20111202 OK

test.log20111203 OK

test.log20111204 OK

test.log20111205 OK

test.log20111206 OK

test.log20111207 OK

test.t1 OK

test.t2 OK

Running 'MySQL_fix_privilege_tables'...

OK

.7.1 采用MySQL_upgrade升级授权表方式升级(2)

6)再次关闭MySQL服务,命令如下:

/etc/init.d/MySQL stop或MySQLadmin -uroot -p123456 shutdown

7)正常启动MySQL服务,命令如下:

MySQLd_safe --defaults-file=/etc/my.cnf --user=MySQL &

8)来查看一下版本,如下所示:

MySQL> select version();

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

| version() |

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

| 5.5.20-enterprise-commercial-advanced-log |

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

1 row in set (0.00 sec)

MySQL> select @@innodb_version;

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

| @@innodb_version |

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

| 1.1.8 |

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

1 row in set (0.00 sec)

至此,升级过程完毕。

在升级过程中,有一个需要注意的问题,这是作者之前在安装时遇到的。RHEL5.3安装MySQL5.5时出现系统崩溃(如图1-24所示),当时的环境为:系统是RHEL5.3,64位,XFS分区,MySQL5.5.20二进制版本。





系统崩溃时,作者用DELLDRAC远程管理卡抓的截屏如图1-25所示。





可以看出,XFS文件系统在读写时出现报错。出现此问题的原因是,RHEL5.3系统内核未自带XFS文件系统,是通过往内核打补丁使之支持的,后来把系统升级为RHEL5.5,系统正常了,没有出现死机情况。

注意

RHEL5.5版本开始,内核支持XFS文件系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: