MySQL Study之--Percona server 5.5升级5.6
系统环境:
操作系统:CentOS_6.5(64)
MySQL: Percona server 5.5(5.6)
一、升级的目的
为什么MySQL升级是必须的? 原因有很多,比如:为了使用新增的特性,基于性能方面的考量, 修复的bug. 但是在没有充分的测试以前就应用到你的应用中是非常危险的, 因为升级可以能会让你的应用不能正常运作- 也可能引起性能的问题. 此外, 我建议你关注MySQL的发布信息和Percona Server - 看看最近的版本有什么变化. 也许在在最新的版本中已修复了某个你正在烦恼的问题.
二、升级的方式
通常情况下,有两中升级方式:
-
直接升级:安装好新版本数据库后,利用已经存在的数据文件夹,同时运行mysql_upgrade脚本来升级。
-
SQL 导出: 从一个较老版本的mysql把数据导出,然后恢复到新版本的数据库中。(利用mysqldump工具)。
相比之下,第二种方式更安全些,但是这也会使得升级的过程要慢一些。
理论上讲,最安全的方式是:
-
导出所有用户的权限
-
导出所有数据并恢复到新版本数据库中
-
恢复用户权限到新数据库中
三、升级的步骤
1、安装percona server 5.5
[root@cent65 percona-55]# uname -a
Linux cent65 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@cent65 ~]# cd /home/mysql/percona-55/
[root@cent65 percona-55]# ls
Linux cent65 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@cent65 ~]# cd /home/mysql/percona-55/
[root@cent65 percona-55]# ls
Percona-Server-55-debuginfo-5.5.46-rel37.5.el6.x86_64.rpm
Percona-Server-client-55-5.5.46-rel37.5.el6.x86_64.rpm
Percona-Server-devel-55-5.5.46-rel37.5.el6.x86_64.rpm
Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64.rpm
Percona-Server-shared-55-5.5.46-rel37.5.el6.x86_64.rpm
Percona-Server-test-55-5.5.46-rel37.5.el6.x86_64.rpm
安装percona server与系统自带的mysql冲突,首先卸载系统自带mysql:
[root@cent65 percona-55]# rpm -ivh *
warning: Percona-Server-55-debuginfo-5.5.46-rel37.5.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
MySQL conflicts with mysql-5.1.71-1.el6.x86_64
MySQL-server conflicts with mysql-server-5.1.71-1.el6.x86_64
warning: Percona-Server-55-debuginfo-5.5.46-rel37.5.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
MySQL conflicts with mysql-5.1.71-1.el6.x86_64
MySQL-server conflicts with mysql-server-5.1.71-1.el6.x86_64
卸载mysql:
[root@cent65 percona-55]# rpm -e mysql-server --nodeps
[root@cent65 percona-55]# rpm -e mysql --nodeps
[root@cent65 percona-55]# rpm -e mysql-devel --nodeps
[root@cent65 percona-55]# rpm -e mysql-server --nodeps
[root@cent65 percona-55]# rpm -e mysql --nodeps
[root@cent65 percona-55]# rpm -e mysql-devel --nodeps
安装percona server:
[root@cent65 percona-55]# rpm -ivh *
warning: Percona-Server-55-debuginfo-5.5.46-rel37.5.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-shared-5########################################### [ 17%]
2:Percona-Server-client-5########################################### [ 33%]
3:Percona-Server-server-5########################################### [ 50%]
warning: Percona-Server-55-debuginfo-5.5.46-rel37.5.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-shared-5########################################### [ 17%]
2:Percona-Server-client-5########################################### [ 33%]
3:Percona-Server-server-5########################################### [ 50%]
151203 10:57:15 [Note] /usr/sbin/mysqld (mysqld 5.5.46-37.5) starting as process 2537 ...
151203 10:57:27 [Note] /usr/sbin/mysqld (mysqld 5.5.46-37.5) starting as process 2546 ...
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cent65 password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
Please report any problems at
https://bugs.launchpad.net/percona-server/+filebug
Percona recommends that all production deployments be protected with a support
contract (http://www.percona.com/mysql-suppport/) to ensure the highest uptime,
be eligible for hot fixes, and boost your team's productivity.
Percona Server is distributed with several useful UDF (User Defined Function) from Percona Toolkit.
Run the following commands to create these functions:
mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"
See http://www.percona.com/doc/percona-server/5.5/management/udf_percona_toolkit.html for more details
4:Percona-Server-test-55 ########################################### [ 67%]
5:Percona-Server-devel-55########################################### [ 83%]
6:Percona-Server-55-debug########################################### [100%]
----安装成功 !
2、启动mysql server
[root@cent65 percona-55]# service mysql start
Starting MySQL (Percona Server)....[ OK ]
[root@cent65 percona-55]# netstat -an |grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
修改用户口令:
[root@cent65 percona-55]# mysqladmin -u root password "oracle"
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[root@cent65 percona-55]# service mysql start
Starting MySQL (Percona Server)....[ OK ]
[root@cent65 percona-55]# netstat -an |grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
修改用户口令:
[root@cent65 percona-55]# mysqladmin -u root password "oracle"
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
连接mysql server:
[root@cent65 percona-55]# mysql -u root -p
Enter password:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
创建测试库和表:
mysql> create database prod;
Query OK, 1 row affected (0.00 sec)
mysql> use prod;
Database changed
mysql> create table emp (id int ,name varchar(10));
Query OK, 0 rows affected (0.35 sec)
mysql> insert into emp values (10,'tom');
Query OK, 1 row affected (0.11 sec)
mysql> insert into emp values (20,'jerry');
Query OK, 1 row affected (0.17 sec)
mysql> insert into emp values (30,'rose');
Query OK, 1 row affected (0.05 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
[root@cent65 percona-55]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.5.46-37.5 Percona Server (GPL), Release 37.5, Revision 684ce54
Copyright (c) 2009-2015 Percona LLC and/or its affiliates
Copyright (c) 2000, 2015, 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.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
创建测试库和表:
mysql> create database prod;
Query OK, 1 row affected (0.00 sec)
mysql> use prod;
Database changed
mysql> create table emp (id int ,name varchar(10));
Query OK, 0 rows affected (0.35 sec)
mysql> insert into emp values (10,'tom');
Query OK, 1 row affected (0.11 sec)
mysql> insert into emp values (20,'jerry');
Query OK, 1 row affected (0.17 sec)
mysql> insert into emp values (30,'rose');
Query OK, 1 row affected (0.05 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
查看表属性:
mysql> show create table emp\G
*************************** 1. row ***************************
Table: emp
Create Table: CREATE TABLE `emp` (
`id` int(11) DEFAULT NULL,
`name` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
mysql> select * from emp;
+------+-------+
| id | name |
+------+-------+
| 10 | tom |
| 20 | jerry |
| 30 | rose |
+------+-------+
3 rows in set (0.00 sec)
mysql> show create table emp\G
*************************** 1. row ***************************
Table: emp
Create Table: CREATE TABLE `emp` (
`id` int(11) DEFAULT NULL,
`name` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
mysql> select * from emp;
+------+-------+
| id | name |
+------+-------+
| 10 | tom |
| 20 | jerry |
| 30 | rose |
+------+-------+
3 rows in set (0.00 sec)
二、准备升级percona server5.5到5.6
安装percona toolkit工具:
首先通过yum(本地库)安装perl软件:
[root@cent65 yum.repos.d]# yum install -y perl-IO-Socket-SSL* --enablerepo=c6-media
[root@cent65 yum.repos.d]# yum install -y perl-TermReadKey* --enablerepo=c6-media
[root@cent65 mysql]# rpm -ivh percona-toolkit-2.2.10-1.noarch.rpm
warning: percona-toolkit-2.2.10-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:percona-toolkit ########################################### [100%]
warning: percona-toolkit-2.2.10-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:percona-toolkit ########################################### [100%]
1) 获取用户和权限信息. 该操作会备份所有用户的权限
[root@cent65 mysql]# pt-show-grants --user=root --ask-pass --flush >/home/mysql/grants.sql
Enter password:
查看sql scripts:
[root@cent65 mysql]# cat grants.sql
-
Enter password:
查看sql scripts:
[root@cent65 mysql]# cat grants.sql
-
- Grants dumped by pt-show-grants
-- Dumped from server Localhost via UNIX socket, MySQL 5.5.46-37.5 at 2015-12-03 12:22:00
-- Grants for ''@'cent65'
GRANT ALTER, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, LOCK TABLES, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE ON `test\_%`.* TO ''@'%';
GRANT ALTER, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, LOCK TABLES, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE ON `test`.* TO ''@'%';
GRANT USAGE ON *.* TO ''@'cent65';
-- Grants for ''@'localhost'
GRANT ALTER, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, LOCK TABLES, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE ON `test\_%`.* TO ''@'%';
GRANT ALTER, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, LOCK TABLES, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE ON `test`.* TO ''@'%';
GRANT USAGE ON *.* TO ''@'localhost';
-- Grants for 'root'@'127.0.0.1'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
-- Grants for 'root'@'::1'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'::1' WITH GRANT OPTION;
-- Grants for 'root'@'cent65'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'cent65' WITH GRANT OPTION;
GRANT PROXY ON ''@'' TO 'root'@'cent65' WITH GRANT OPTION;
-- Grants for 'root'@'localhost'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*2447D497B9A6A15F2776055CB2D1E9F86758182F' WITH GRANT OPTION;
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2)、dump 5.5数据库实例的所有信息(除去mysql, information_schema 和performance_schema数据库)
[root@cent65 mysql]# mysql -uroot -p -BNe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mysql', 'performance_schema', 'information_schema')" | tr 'n' ' ' > /home/mysql/dbs-to-dump.sql
Enter password:
Enter password:
查看sql scripts:
[root@cent65 mysql]# cat dbs-to-dump.sql
prod
test
[root@cent65 mysql]# mysqldump -u root -p --routines --events --single-transaction --databases $(cat /home/mysql/dbs-to-dump.sql) > /home/mysql/full-data-dump.sql
Enter password:
[root@cent65 mysql]# cat full-data-dump.sql
[root@cent65 mysql]# cat dbs-to-dump.sql
prod
test
[root@cent65 mysql]# mysqldump -u root -p --routines --events --single-transaction --databases $(cat /home/mysql/dbs-to-dump.sql) > /home/mysql/full-data-dump.sql
Enter password:
[root@cent65 mysql]# cat full-data-dump.sql
-- MySQL dump 10.13 Distrib 5.5.46-37.5, for Linux (x86_64)
--
-- Host: localhost Database: prod
-- ------------------------------------------------------
-- Server version 5.5.46-37.5
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-- Current Database: `prod`
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `prod` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `prod`;
-- Table structure for table `emp`
DROP TABLE IF EXISTS `emp`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `emp` (
`id` int(11) DEFAULT NULL,
`name` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
-- Dumping data for table `emp`
LOCK TABLES `emp` WRITE;
/*!40000 ALTER TABLE `emp` DISABLE KEYS */;
INSERT INTO `emp` VALUES (10,'tom'),(20,'jerry'),(30,'rose');
/*!40000 ALTER TABLE `emp` ENABLE KEYS */;
UNLOCK TABLES;
-- Dumping events for database 'prod'
-- Dumping routines for database 'prod'
-- Current Database: `test`
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `test`;
-- Dumping events for database 'test'
-- Dumping routines for database 'test'
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2015-12-03 12:31:52
3)、停止数据库
[root@cent65 mysql]# service mysql stop
Shutting down MySQL (Percona Server).......[ OK ]
[root@cent65 mysql]# mv /var/lib/mysql /var/lib/mysql55
Shutting down MySQL (Percona Server).......[ OK ]
[root@cent65 mysql]# mv /var/lib/mysql /var/lib/mysql55
4)、 移动旧数据库(5.5版本)的数据目录(假设是/var/lib/mysql,此处应该改为你自己的数据目录)
[root@cent65 mysql]#mv /var/lib/mysql /var/lib/mysql55
[root@cent65 mysql]#mkdir /var/lib/mysql
[root@cent65 mysql]#chown -R mysql:mysql /var/lib/mysql
三、安装Percona Server 5.6
[root@cent65 percona-56]# ls -l
total 121104
-rwxr-xr-x. 1 mysql mysql 70389368 Dec 3 11:21 Percona-Server-56-debuginfo-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 6727084 Dec 3 11:21 Percona-Server-client-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 1031588 Dec 3 11:21 Percona-Server-devel-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 20463420 Dec 3 11:21 Percona-Server-server-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 742496 Dec 3 11:21 Percona-Server-shared-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 23137340 Dec 3 11:21 Percona-Server-test-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 1508480 Dec 3 11:21 Percona-Server-tokudb-56-5.6.25-rel73.1.el6.x86_64.rpm
total 121104
-rwxr-xr-x. 1 mysql mysql 70389368 Dec 3 11:21 Percona-Server-56-debuginfo-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 6727084 Dec 3 11:21 Percona-Server-client-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 1031588 Dec 3 11:21 Percona-Server-devel-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 20463420 Dec 3 11:21 Percona-Server-server-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 742496 Dec 3 11:21 Percona-Server-shared-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 23137340 Dec 3 11:21 Percona-Server-test-56-5.6.25-rel73.1.el6.x86_64.rpm
-rwxr-xr-x. 1 mysql mysql 1508480 Dec 3 11:21 Percona-Server-tokudb-56-5.6.25-rel73.1.el6.x86_64.rpm
Percona server 5.5会与5.6的软件有冲突,所以5.6的安装需要强制安装:
[root@cent65 percona-56]# rpm -ivh Percona-Server-shared-56-5.6.25-rel73.1.el6.x86_64.rpm --force
warning: Percona-Server-shared-56-5.6.25-rel73.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-shared-5########################################### [100%]
[root@cent65 percona-56]# rpm -ivh Percona-Server-client-56-5.6.25-rel73.1.el6.x86_64.rpm --force --nodeps
warning: Percona-Server-client-56-5.6.25-rel73.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-client-5########################################### [100%]
[root@cent65 percona-56]# rpm -ivh Percona-Server-test-56-5.6.25-rel73.1.el6.x86_64.rpm --force --nodeps
warning: Percona-Server-test-56-5.6.25-rel73.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-test-56 ########################################### [100%]
[root@cent65 percona-56]# rpm -ivh Percona-Server-devel-56-5.6.25-rel73.1.el6.x86_64.rpm --force --nodeps
warning: Percona-Server-devel-56-5.6.25-rel73.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-devel-56########################################### [100%]
server软件的安装需要先卸载server 5.5:
1)、卸载server 5.5
[root@cent65 percona-56]# rpm -qa |grep Percona-Server-server
Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64
[root@cent65 percona-56]# rpm -e Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64
error: Failed dependencies:
mysql-server is needed by (installed) akonadi-1.2.1-2.el6.x86_64
[root@cent65 percona-56]# rpm -e Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64 --nodeps
1)、卸载server 5.5
[root@cent65 percona-56]# rpm -qa |grep Percona-Server-server
Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64
[root@cent65 percona-56]# rpm -e Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64
error: Failed dependencies:
mysql-server is needed by (installed) akonadi-1.2.1-2.el6.x86_64
[root@cent65 percona-56]# rpm -e Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64 --nodeps
2)、安装server 5.6
[root@cent65 percona-56]# rpm -ivh Percona-Server-server* --force --nodeps
warning: Percona-Server-server-56-5.6.25-rel73.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-server-5########################################### [100%]
[root@cent65 percona-56]# rpm -ivh Percona-Server-server* --force --nodeps
warning: Percona-Server-server-56-5.6.25-rel73.1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:Percona-Server-server-5########################################### [100%]
2015-12-03 12:41:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-12-03 12:41:04 0 [Note] /usr/sbin/mysqld (mysqld 5.6.25-73.1) starting as process 4000 ...
2015-12-03 12:41:04 4000 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-12-03 12:41:04 4000 [Note] InnoDB: The InnoDB memory heap is disabled
2015-12-03 12:41:04 4000 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-12-03 12:41:04 4000 [Note] InnoDB: Memory barrier is not used
2015-12-03 12:41:04 4000 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-12-03 12:41:04 4000 [Note] InnoDB: Using Linux native AIO
2015-12-03 12:41:04 4000 [Note] InnoDB: Using CPU crc32 instructions
2015-12-03 12:41:04 4000 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-12-03 12:41:04 4000 [Note] InnoDB: Completed initialization of buffer pool
2015-12-03 12:41:04 4000 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2015-12-03 12:41:04 4000 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2015-12-03 12:41:04 4000 [Note] InnoDB: Database physically writes the file full: wait...
2015-12-03 12:41:04 4000 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2015-12-03 12:41:06 4000 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2015-12-03 12:41:08 4000 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2015-12-03 12:41:08 4000 [Warning] InnoDB: New log files created, LSN=45781
2015-12-03 12:41:08 4000 [Note] InnoDB: Doublewrite buffer not found: creating new
2015-12-03 12:41:09 4000 [Note] InnoDB: Doublewrite buffer created
2015-12-03 12:41:09 4000 [Note] InnoDB: 128 rollback segment(s) are active.
2015-12-03 12:41:09 4000 [Warning] InnoDB: Creating foreign key constraint system tables.
2015-12-03 12:41:09 4000 [Note] InnoDB: Foreign key constraint system tables created
2015-12-03 12:41:09 4000 [Note] InnoDB: Creating tablespace and datafile system tables.
2015-12-03 12:41:09 4000 [Note] InnoDB: Tablespace and datafile system tables created.
2015-12-03 12:41:09 4000 [Note] InnoDB: Waiting for purge to start
2015-12-03 12:41:09 4000 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.25-73.1 started; log sequence number 0
2015-12-03 12:41:09 4000 [Note] RSA private key file not found: /var/lib/mysql//private_key.pem. Some authentication plugins will not work.
2015-12-03 12:41:09 4000 [Note] RSA public key file not found: /var/lib/mysql//public_key.pem. Some authentication plugins will not work.
2015-12-03 12:41:41 4000 [Note] Binlog end
2015-12-03 12:41:41 4000 [Note] InnoDB: FTS optimize thread exiting.
2015-12-03 12:41:41 4000 [Note] InnoDB: Starting shutdown...
2015-12-03 12:41:43 4000 [Note] InnoDB: Shutdown completed; log sequence number 1625977
2015-12-03 12:41:43 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-12-03 12:41:43 0 [Note] /usr/sbin/mysqld (mysqld 5.6.25-73.1) starting as process 4025 ...
2015-12-03 12:41:43 4025 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-12-03 12:41:43 4025 [Note] InnoDB: The InnoDB memory heap is disabled
2015-12-03 12:41:43 4025 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-12-03 12:41:43 4025 [Note] InnoDB: Memory barrier is not used
2015-12-03 12:41:43 4025 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-12-03 12:41:43 4025 [Note] InnoDB: Using Linux native AIO
2015-12-03 12:41:43 4025 [Note] InnoDB: Using CPU crc32 instructions
2015-12-03 12:41:43 4025 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-12-03 12:41:43 4025 [Note] InnoDB: Completed initialization of buffer pool
2015-12-03 12:41:43 4025 [Note] InnoDB: Highest supported file format is Barracuda.
2015-12-03 12:41:44 4025 [Note] InnoDB: 128 rollback segment(s) are active.
2015-12-03 12:41:44 4025 [Note] InnoDB: Waiting for purge to start
2015-12-03 12:41:44 4025 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.25-73.1 started; log sequence number 1625977
2015-12-03 12:41:44 4025 [Note] RSA private key file not found: /var/lib/mysql//private_key.pem. Some authentication plugins will not work.
2015-12-03 12:41:44 4025 [Note] RSA public key file not found: /var/lib/mysql//public_key.pem. Some authentication plugins will not work.
2015-12-03 12:41:44 4025 [Note] Binlog end
2015-12-03 12:41:44 4025 [Note] InnoDB: FTS optimize thread exiting.
2015-12-03 12:41:44 4025 [Note] InnoDB: Starting shutdown...
2015-12-03 12:41:46 4025 [Note] InnoDB: Shutdown completed; log sequence number 1625987
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cent65 password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
Please report any problems at
https://bugs.launchpad.net/percona-server/+filebug
The latest information about Percona Server is available on the web at
http://www.percona.com/software/percona-server
Support Percona by buying support at
http://www.percona.com/products/mysql-support
WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server
Percona Server is distributed with several useful UDF (User Defined Function) from Percona Toolkit.
Run the following commands to create these functions:
mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"
See http://www.percona.com/doc/percona-server/5.6/management/udf_percona_toolkit.html for more details
------------至此,Percona Server 5.6安装成功 !
四、将数据import到server 5.6
1、启动mysql server
[root@cent65 percona-56]# service mysql start
Starting MySQL (Percona Server).[ OK ]
[root@cent65 percona-56]# netstat -an|grep :3306
tcp 0 0 :::3306 :::* LISTEN
2、导入用户权限表
[root@cent65 percona-56]# mysql -u root -p </home/mysql/grants.sql
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Starting MySQL (Percona Server).[ OK ]
[root@cent65 percona-56]# netstat -an|grep :3306
tcp 0 0 :::3306 :::* LISTEN
2、导入用户权限表
[root@cent65 percona-56]# mysql -u root -p </home/mysql/grants.sql
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@cent65 percona-56]# mysqladmin -u root password "oracle"
Warning: Using a password on the command line interface can be insecure.
[root@cent65 percona-56]# mysql -u root -p </home/mysql/grants.sql
Enter password:
3、导入备份数据
[root@cent65 percona-56]# mysql -uroot -p -e "SET GLOBAL max_allowed_packet=1024*1024*1024"
Enter password:
[root@cent65 percona-56]# mysql -uroot -p --max-allowed-packet=1G < /home/mysql/full-data-dump.sql
Enter password:
[root@cent65 percona-56]#
5、连接server,验证数据
[root@cent65 percona-56]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.25-73.1 Percona Server (GPL), Release 73.1, Revision 07b797f
Copyright (c) 2009-2015 Percona LLC and/or its affiliates
Copyright (c) 2000, 2015, 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.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| prod |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql> use prod;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+----------------+
| Tables_in_prod |
+----------------+
| emp |
+----------------+
1 row in set (0.00 sec)
查看表信息:
mysql> select * from emp;
+------+-------+
| id | name |
+------+-------+
| 10 | tom |
| 20 | jerry |
| 30 | rose |
+------+-------+
3 rows in set (0.00 sec)
---------数据库可以正常访问,至此升级结束!
此时, 所有的表都在MySQL 5.6中重建及重新加载完成,所以所有的二进制文件对MySQL 5.6可用. 同时也你完成了最干净/最稳定的升级过程,你可以恢复你的应用- 这个升级过程和valina MySQL与Percona Server的升级过程是一样的.甚至你可以把Oracle MySQL升级到Percona Server. 比如: 把Oracle MySQL 5.5升级到Percona Server 5.6. 再次强调: MySQL的升级过程和Percona Server的升级过程是一样的,只需要将Percona Server 替换成Oracle MySQL即可.