MySQLMySQL升级

MySQL的升级换代相对来说还是比较简单的。

它支持少数栽办法的提升:

原地升级(In-place Upgrade)

闭馆数据库,替换原有的二进制文件,重开数据库,执行mysql_upgrade

逻辑升级(Logical Upgrade)

因而mysqldump导出多少,安装新的数据库版本,将数据导入到新的数据库中,执行mysql_upgrade

 

可是MySQL版以群,不仅出各种大本子,譬如5.1,5.5,5.6,5.7,同一个很版被吗会见来各种小本子。

那么官方支持怎么的升迁路线为?

  1. 及一个生版本被的微本子升级,譬如5.6.25到5.6.31。

  2. 过版本升级,但不过支持过一个版本升级,譬如5.5顶5.6,5.6顶5.7。

3.
请勿支持过版本的直白晋级,譬如直接打5.1至5.6,可以预先从5.1升任到5.5,再由5.5荣升至5.6。

 

如上均是恃MySQL的GA版本,从非GA版本及GA版本的晋升并无支持,譬如5.6.9至5.6.10,因为前端并无是一个GA版本。

关于版本信息,可参看官方说明

http://downloads.mysql.com/archives/community/

 

下面演示一下原地升级

亟需升级版本MySQL 5.5.30

目标版本MySQL 5.6.32

 

安参数

mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)

innodb_fast_shutdown参数有三单价值

0: 在数据库关闭的时刻,会执行purge操作和change buffer合并,也称为“show
shutdown”

1: 默认值,在数据库关闭的时,会超过了purge操作和change
buffer合并,也叫“fast shutdown”

2: 在数据库关闭的时候,只是flush
log,然后实施关闭操作。在恢复的早晚或要较长时间的crash recovery

 

清关闭数据库

# ./bin/mysqladmin shutdown -uroot -p123456 --socket /data/mysql.sock

 

履新MySQL二进制文件

于此处,我直接利用新的次前行制压缩包

 

行使新的MySQL启动

这时datadir指向原来的数码目录

# ./bin/mysqld_safe  --defaults-file=/usr/test/mysql-5.6.32-linux-glibc2.5-x86_64/my.cnf --user=mysql --ledir=/usr/test/mysql-5.6.32-linux-glibc2.5-x86_64/bin  &

其中,配置文件中之情节如下

[mysqld]
basedir = /usr/test/mysql-5.6.32-linux-glibc2.5-x86_64
datadir = /data
port = 3310
socket = /data/mysql.sock

最主要是点名了datadir

 

执行mysql_upgrade

# ./bin/mysql_upgrade -uroot -p123456 --socket=/data/mysql.sock
Warning: Using a password on the command line interface can be insecure.
Looking for 'mysql' as: ./bin/mysql
Looking for 'mysqlcheck' as: ./bin/mysqlcheck
Running 'mysqlcheck' with connection arguments: '--socket=/data/mysql.sock' 
Warning: Using a password on the command line interface can be insecure.
Running 'mysqlcheck' with connection arguments: '--socket=/data/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.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'...
Warning: Using a password on the command line interface can be insecure.
Running 'mysqlcheck' with connection arguments: '--socket=/data/mysql.sock' 
Warning: Using a password on the command line interface can be insecure.
Running 'mysqlcheck' with connection arguments: '--socket=/data/mysql.sock' 
Warning: Using a password on the command line interface can be insecure.
test.test                                          OK
OK

 

关于mysql_upgrade的来意,官方文档说明如下:

mysql_upgrade examines all tables in all databases for incompatibilities with the current version of MySQL Server. mysql_upgrade also upgrades the system tables so that you can take advantage of new privileges or capabilities that might have been added.

If mysql_upgrade finds that a table has a possible incompatibility, it performs a table check and, if problems are found, attempts a table repair. 

主要是提升系统表和修补不配合的阐明。

 

参考

1. http://dev.mysql.com/doc/refman/5.6/en/upgrading.html

 

 

 

 

 

网站地图xml地图