ubuntu mysql 升级5.6_ubuntu mysql 5.5 升级到5.6.16

Ubuntu11.04将MySQL5.5升级到5.6.16

1.停止现版本MySQL,并备份

mkdirmysql_5.5_backup

cdmysql_5.5_backup

sudo/etc/init.d/mysql stop

接下来所有备份操作都在mysql_5.5_backup执行

1.1用mysqldump备份数据库,可以将mysql内建数据库和产品数据库分开备份

mysqldump-u user_name -p –databases mysql > mysql_db.sql

mysqldump -uuser_name -p –databases db_name > db_name.sql

1.2备份MySQL数据目录,更多备份,更多安全

sudocp -R /var/lib/mysql/ mysql-5.5-data

1.3备份MySQL配置文件

sudocp -r /etc/mysql mysql_5.5_conf

2.安装异步io库

sudoapt-get install libaio-dev

3.从官网上下载最新的MySQL,(我们用的是64位,截至5.6.16,注意要下载.tar.gz那个版本,tar版本很坑爹,解压后都是rpm文件)

4.将下载文件拷贝到/usr/local/并解压,建立软链接(方便以后下载新版本后切换)

sudocp mysql-5.6.16-linux2.6-x86_64.tar.gz /usr/local

sudo tar xzvfmysql-5.6.16-linux2.6-x86_64.tar.gz

sudo ln -smysql-5.6.16-linux2.6-x86_64 mysql

5.干掉旧版本的MySQL

sudoapt-get remove mysql-server

sudo apt-get autoremove

sudoapt-get remove mysql-client

sudo apt-get autoremove

6.编辑环境文件/etc/environment,使之内容如下:(编辑完后使用source命令保存)

PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin”

为了使普通用户可以使用,同时需要在/etc/profile文件中增加环境变量

7.保证MySQL的socket文件所在目录存在并可读写

切换到目录 /usr/local

sudomkdir /var/run/mysqld/ (如果已经存在就忽略错误)sudochown -R mysql:mysql /var/run/mysqld/

8.拷贝新的配置文件

cd/usr/local/mysql/support-files/

sudo cpmy-default.cnf/etc/mysql/my.cnf

9.编辑配置文件/etc/mysql/my.cnf,添加如下内容

[mysqld]

user= mysql

socket = /var/run/mysqld/mysqld.sock

port =3306

basedir = /usr/local/mysql

tmpdir= /tmp

datadir = /var/lib/mysql#这里和英文指南不同,指向原MySQL数据库文件目录log_error= /var/log/mysql/error.log

注意,要确保[client]和[mysqld]下socket和port字段内容一致

10.拷贝MySQL启动文件

cd/usr/local/mysql/support-files/

sudo cp mysql.server/etc/init.d/mysql

sudo chmod +x /etc/init.d/mysql

sudoupdate-rc.d mysql defaults

11.干掉旧版MySQL余虐 (保留了原配置文件目录和原数据库文件目录)

sudorm -R /usr/lib/mysql

12.跳过grantstable运行MySQL

sudosu #切换到root,否则下面的命令中无法使用mysql帐号/usr/local/mysql/bin/mysqld–skip-grant-tables –user=mysql

13.开一个新的终端

sudo/usr/local/mysql/bin/mysql_upgrade -uroot -p修复升级

如果所有的log都ok,那就基本Ok了 14.终止之前的mysql进程,ctrl-c停不下来的话,就直接kill进程号15.正常启动MySQL

sudo/etc/init.d/mysql start

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值