5.5.35 - mysql 同步_MySQL 5.1.73升级为MySQL 5.5.35详解

四、升级为MySQL 5.5.35

1.升级前准备(查看MySQL 5.1相关参数,具体如下)

(1).安装目录

[root@node6 ~]# /usr/local/mysql

(2).配置文件

[root@node6 ~]# /etc/my.cnf

(3).数据目录

[root@node6 ~]# /data/mysql

(4).启动脚本

[root@node6 ~]# /etc/init.d/mysqld

(5).其它参数

输出mysql的man手册至man命令的查找路径

输出mysql的头文件至系统头文件路径/usr/include

输出mysql的库文件给系统库查找路径

修改PATH环境变量,让系统可以直接使用mysql的相关命令

2.升级方式

直接将MySQL5.5安装目录覆盖正在运行的Mysql目录(我们这里演示使用的方式)

将MySQL5.5安装到其它目录中,如/usr/local/mysql5

3.备份所有数据库

[root@node6 ~]# mysqldump -uroot -p123456 test -l -F '/tmp/test.sql'

-l 锁定

-F 即flush logs,可以重新生成新的日志文件,当然包括log-bin日志

4.备份安装目录

[root@node6 ~]# tar czvf mysql_5.1.73_full.tar.gz /usr/local/mysql

5.备份数据目录

[root@node6 ~]# tar czvf mysql_5.1.73_data_full.tar.gz /data/mysql

6.备份配置文件

[root@node6 ~]# cp /etc/my.cnf ./

7.关闭mysql

[root@node6 ~]# service mysqld stop

Shutting down MySQL.. SUCCESS!

好了,到这里我们准备工作就完成了。下面我们来升级到MySQL 5.5.35……

8.升级mysql 5.5.35

[root@node6 mysql]# tar xf mysql-5.5.35.tar.gz

[root@node6 mysql]# cd mysql-5.5.35

[root@node6 mysql-5.5.35]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/data/mysql -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1

[root@node6 mysql-5.5.35]# make && make install

9.删除原有的mysql5.1的配置文件

[root@node6 mysql-5.5.35]# rm -rf /etc/my.cnf

10.提供新的配置文件

[root@node6 mysql-5.5.35]# cp support-files/my-huge.cnf /etc/my.cnf

11.修改一下配置文件

[mysqld]

datadir        = /data/mysql

注,只增加一行指定数据数据/data/mysql。

12.尝试重新启动一下

[root@node6 mysql-5.5.35]# service mysqld restart

Shutting down MySQL. SUCCESS!

Starting MySQL.. SUCCESS!

13.执行更新程序并重启mysql

[root@node6 mysql-5.5.35]# /usr/local/mysql/bin/mysql_upgrade

Looking for 'mysql' as: /usr/local/mysql/bin/mysql

Looking for 'mysqlcheck' as: /usr/local/mysql/bin/mysqlcheck

Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/tmp/mysqld.sock'

Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/tmp/mysqld.sock'

mydb.t1                                            OK

mydb.t2                                            OK

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

14.查看生成的更新文件

[root@node6 ~]# cd /data/mysql/

[root@node6 mysql]# ls

ibdata1      mysql            mysql-bin.000004  mysql-bin.000008    node6.test.com.err

ib_logfile0  mysql-bin.000001  mysql-bin.000005  mysql-bin.000009    node6.test.com.pid

ib_logfile1  mysql-bin.000002  mysql-bin.000006  mysql-bin.index    performance_schema

mydb        mysql-bin.000003  mysql-bin.000007  mysql_upgrade_info  test

[root@node6 mysql]# cat mysql_upgrade_info

5.5.35

15.尝试登录一下并查看一下版本

[root@node6 mysql]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 9

Server version: 5.5.35-log Source distribution

Copyright (c) 2000, 2013, 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> select version();

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

| version()  |

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

| 5.5.35-log |

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

1 row in set (0.00 sec)

16.查看一下库和表

mysql> show databases;

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

| Database          |

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

| information_schema |

| mydb              |

| mysql              |

| performance_schema |

| test              |

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

5 rows in set (0.00 sec)

mysql> use mydb;

Database changed

mysql> show tables;

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

| Tables_in_mydb |

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

| t1            |

| t2            |

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

2 rows in set (0.00 sec)

mysql> select count(*) from t1;

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

| count(*) |

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

| 20971520 |

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

1 row in set (0.00 sec)

好了,到这里我们就升级成功了。

五、总结

根据上面的演示,我们发现MySQL数据库升级并不是很难,主要得注意数据备份,防止数据和意外丢失。好了,这篇博客就到这里吧。

最后,希望大家有所收获吧^_^……0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值