`
xiaolin0199
  • 浏览: 573211 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

unbuntu10.04升级mysql5.1到5.5

 
阅读更多

参考:

http://blog.csdn.net/lanphaday/article/details/6298283

http://blog.shanbay.com/archives/937

 

1.下载二进制安装包[5.5.24]

写道
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.24-linux2.6-i686.tar.gz/from/http://mysql.spd.co.il/

注意要下载 .tar.gz那个版本, tar版本很坑爹,解压后都是rpm文件,在最最下面

 

2.备份

$ mkdir /root/mysql-5.1-conf  
$ cp -R /etc/mysql/ /root/mysql-5.1-conf

$ mkdir /root/mysql-5.1-data 
$ cp -R /var/lib/mysql/ /root/mysql-5.1-data

$ mkdir /root/mysql-5.1-dump  
$ mysqldump -uuser_name -p --databases mysql > /root/mysql-5.1-dump/mysql.sql
$ mysqldump -uuser_name -p --databases db_name > /root/mysql-5.1-dump/db_name.sql

** user_name 我知道是啥意思,我用的root来做的dump
** 第一个dump是备份的mysql表
** 第二个dump是备份你的数据表,结果我就是备份的db_name,这些写文档的人太不厚道了,多写一句话注释一下啥.害我没有备份数据表.

*最后一个备份需要放开/root/mysql-5.1-dump文件夹的权限

 

3.安装异步I/O库

$ apt-get install libaio-dev

Mysql 5.5 的新的 Inno DB 使用了 libaio 来增进性能

 

4.解包并将解包的 mysql 目录放到安装目录

$ tar xzvf mysql-5.5.24-linux2.6-i686.tar.gz

$ cp -R mysql-5.5.24-linux2.6-i686 /usr/local/
$ cd /usr/local/
$ ln -s mysql-5.5.24-linux2.6-i686 mysql

 

5.删除旧版本的mysql

$ apt-get remove mysql-server-5.1
$ apt-get autoremove
$ apt-get remove mysql-client
$ apt-get autoremove

 

6.把 mysql bin 目录加到 PATH 环境变量

$ vim /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin"

 

7.为 mysql 安装目录和文件设定正确的权限

$ cd /usr/local/mysql
$ chown -R mysql:mysql data

 

8.创建 socket 目录,并设置权限

$ mkdir /var/run/mysqld/
$ chown -R mysql:mysql /var/run/mysqld/

 

9.把 mysql 的 sample 配置拷贝到 etc 目录,并设置好路径

$ cd /usr/local/mysql/support-files/
$ cp my-large.cnf /etc/my.cnf

编辑/etc/my.cnf的内容
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
log_error = /var/log/mysql/error.log

[client]
#password       = your_password
port            = 3306
#socket         = /tmp/mysql.sock
socket          = /var/run/mysqld/mysqld.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
user            = mysql
port            = 3306
#socket         = /tmp/mysql.sock
socket          = /var/run/mysqld/mysqld.sock
basedir         = /usr/local/mysql
datadir         = /usr/local/mysql/data
tmpdir          = /tmp
log_error       = /var/log/mysql/error.log

 

10.把 mysql server 的启动脚本拷贝到启动目录

$ cd /usr/local/mysql/support-files/
$ cp mysql.server /etc/init.d/mysql
$ chmod +x /etc/init.d/mysql
$ update-rc.d mysql defaults

 

11.删除旧版的 mysql 文件

$ rm -R /var/lib/mysql
$ rm -R /etc/mysql
$ rm -R /usr/lib/mysql

 

在安装后第一次使用 mysql server 时切记要跳过 grants 表,原因有二:一是我们可能希望原来的用户和权限数据,二是新版的 grants 表结构有所变化。

 

12.无 grants 表启动 mysql

写道
这里要以root权限运行
sudo su
# /usr/local/mysql/bin/mysqld --skip-grant-tables --user=mysql

出现错误:
120530 11:28:09 [Warning] Can't create test file /var/lib/mysql/xiaofei-desktop.lower-test
120530 11:28:09 [Warning] Can't create test file /var/lib/mysql/xiaofei-desktop.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 2)
120530 11:28:09 [ERROR] Aborting

120530 11:28:09 [Note] mysqld: Shutdown complete


不知怎么的又不出错了。不过在这里卡了很久,运行之后一直没有反应,好像是要什么东西一直没有运行完,其实不是,这个时候表示跳过grant表启动了。
直接进入下一步

 

13.从备份中装载 mysql 用户和权限数据

$ cd /root/mysql-5.1-dump/
$ mysql < mysql.sql

 

14.开一个新的终端

sudo /usr/local/mysql/bin/mysql_upgrade
写道
我的效果:
xiaofei@xiaofei-desktop:/root/mysql-5.1-dump$ mysql_upgrade
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock'
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.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.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
performance_schema.cond_instances OK
performance_schema.events_waits_current OK
performance_schema.events_waits_history OK
performance_schema.events_waits_history_long OK
performance_schema.events_waits_summary_by_instance OK
performance_schema.events_waits_summary_by_thread_by_event_name OK
performance_schema.events_waits_summary_global_by_event_name OK
performance_schema.file_instances OK
performance_schema.file_summary_by_event_name OK
performance_schema.file_summary_by_instance OK
performance_schema.mutex_instances OK
performance_schema.performance_timers OK
performance_schema.rwlock_instances OK
performance_schema.setup_consumers OK
performance_schema.setup_instruments OK
performance_schema.setup_timers OK
performance_schema.threads OK
Running 'mysql_fix_privilege_tables'...
ERROR 1064 (42000) at line 47: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14), Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant'' at line 1
ERROR 1064 (42000) at line 49: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14), Column_priv set('Select','Insert','Update','References') COLLATE utf8_gene' at line 1
ERROR 1064 (42000) at line 81: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14), PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor' at line 1
ERROR 1064 (42000) at line 483: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) AFTER Proc_priv' at line 2
FATAL ERROR: Upgrade failed


又出错啦...明天搞

iaofei@xiaofei-desktop:~$ sudo /usr/local/mysql/bin/mysql_upgrade
[sudo] password for xiaofei:
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=/var/run/mysqld/mysqld.sock'
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.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.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

今天运行就是这样?只是把机器重启了一次?

 

15.kill 掉 12步启动的mysql时程

写道
sudo kill ????

sudo /etc/init.d/mysql start 成功

mysql> status;
--------------
mysql Ver 14.14 Distrib 5.1.62, for debian-linux-gnu (i486) using readline 6.1

Connection id: 1
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.24-log MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 28 sec

Threads: 1 Questions: 4 Slow queries:

 

16.恢复数据表.

写道
先前没有通过dump来备份表,但好歹有备份了文件夹.

xiaofei@xiaofei-desktop:/root/mysql-5.1-data/mysql$ ls
bom djangocms ib_logfile0 icgoo mysql_upgrade_info phpmyadmin xiaofei-desktop.pid xiaofei_icgoo xiaofei_wit
debian-5.1.flag ibdata1 ib_logfile1 mysql onlinestore test11 xiaofei_ecgoo xiaofei_newecgoo zhidao
xiaofei@xiaofei-desktop:/root/mysql-5.1-data/mysql$ sudo cp -R * /usr/local/mysql/data
[sudo] password for xiaofei:
xiaofei@xiaofei-desktop:/root/mysql-5.1-data/mysql$

xiaofei@xiaofei-desktop:/usr/local/mysql/data$ ls
bom ib_logfile0 mysql-bin.000001 mysql-bin.000005 mysql-bin.000009 onlinestore test11 xiaofei_newecgoo
debian-5.1.flag ib_logfile1 mysql-bin.000002 mysql-bin.000006 mysql-bin.000010 performance_schema xiaofei-desktop.pid xiaofei_wit
djangocms icgoo mysql-bin.000003 mysql-bin.000007 mysql-bin.index phpmyadmin xiaofei_ecgoo zhidao
ibdata1 mysql mysql-bin.000004 mysql-bin.000008 mysql_upgrade_info test xiaofei_icgoo

 

 

分享到:
评论

相关推荐

    unbuntu 10.04 LTS上配置简单双机热备方案

    通过本文档,您将了解到如何在 Ubuntu 10.04 LTS 系统上构建一个基于 Tomcat 6.0 和 MySQL 5.1 的简单双机热备方案,以实现 IP 失效转移。该方案的核心是保证在一台服务器出现故障的情况下,能够迅速且无缝地将服务...

    unbuntu详细安装mysqlcluster

    接下来,将下载的MySQL Cluster软件包`mysql-cluster-gpl-7.3.3-linux-glibc2.5-x86_64.tar.gz`复制到每个节点的目录,并解压缩。解压后,为方便管理,可以将解压后的文件夹重命名为更简洁的名字,如`mysqlc`。 在...

    Ubuntu 10.04完整版

    在Ubuntu 10.04中,我们首先会接触到Unity桌面环境,这是Ubuntu自10.04开始引入的新界面,它提供了现代化的图形用户界面,包括左侧的Dash启动器和顶部的面板。Unity旨在简化操作,使日常任务更加高效。 安装Ubuntu ...

    ubuntu交叉编译mysql的C语言程序到ARM开发板

    "Ubuntu交叉编译MySQL的C语言程序到ARM开发板" 本文将详细介绍如何在 Ubuntu 系统下交叉编译 MySQL 的 C 语言程序到 ARM 开发板。该过程需要安装必要的开发包、设置交叉编译工具链、修改 CMakeLists.txt 文件、编写...

    Ubuntu10.04 64 位系统适用的 Google Chorme 浏览器

    unbuntu10.04 64位 系统适用的google chrome浏览器。 截止到2013年10月,最新的chrome已经不支持ubuntu10.04系统了,如果安装最新的,会提示缺少gconf-service依赖。这里提供以前的老版本供大家使用。

    ubuntu10.04

    标题“Ubuntu10.04”指的是Ubuntu操作系统的一个特定版本,即10.04 LTS(长期支持版),代号为“Lucid Lynx”。Ubuntu是基于Debian GNU/Linux的开源操作系统,以其用户友好的界面和广泛的应用软件库而闻名。LTS版本...

    pdo_mysql.so

    在linux下是php支持使用PDO的方式访问mysql数据库的必要文件

    在ubuntu16.04下安装mysql的简便方法

    8. **验证登录**:使用`mysql -u root -p`命令连接到MySQL。当提示输入密码时,输入你之前设置的密码。如果能成功登录,说明MySQL安装无误。 9. **初始化MySQL数据库**:安装后的MySQL可能还需要一些基本配置,如...

    mysql-connector-java-8.0.20.jar

    1. **连接管理**:建立、管理和关闭到MySQL服务器的连接,支持自动重连和心跳检测,确保数据传输的可靠性。 2. **SQL语句执行**:执行SQL查询、更新、事务处理等操作,支持预编译语句和批处理,提高性能和安全性。 3...

    ubuntu安装mysql

    Ubuntu 安装 MySQL 及基本操作 在 Ubuntu 系统中安装 MySQL 是一个非常常见的操作。MySQL 是一个开源的关系数据库管理系统,广泛应用于 Web 应用程序中。本文将指导您如何在 Ubuntu 系统中安装 MySQL,并介绍一些...

    Unbuntu下QT5连接Mysql的库

    Ununtu下QT5连接Mysql出现如下错误: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 这是因为QT5里面带的libqsqlmysql.so库是假的,...

    ubuntu20.04安装mysql5.7.42

    登录到MySQL服务器并执行以下SQL语句以允许远程连接: ``` sudo mysql -u root -p CREATE USER 'newuser'@'%' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%'; FLUSH ...

    mysql-connector-java-5.1.40.tar

    MySQL Connector/J是MySQL官方提供的Java数据库连接器,符合JDBC标准,能够使Java应用程序能够无缝地连接到MySQL服务器。这个版本`5.1.40`代表的是该驱动的特定版本,可能包含了一些安全修复、性能优化和新功能。 ...

    Unbuntu搭建服务器(原创)

    ### Unbuntu搭建服务器知识点详解 #### 一、配置 JDK **知识点1:解压文件** 在 Ubuntu 系统上配置 Java 开发环境时,首先需要解压 Linux 版本的 JDK 压缩包。 - **命令示例**: - `cp jdk-7u79-linux-x64.tar....

    unbuntu安装软件 wubi

    unbuntu安装软件 安装双系统时可直接将其与unbuntu的镜像放在要安装的盘运行该程序即可

    ubuntu20.04离线升级openSSH-8.8

    在这个过程中,我们将详细讲解如何在没有互联网连接的情况下,离线升级OpenSSH到8.8p1版本,同时涉及openssl-1.1.1h和zlib-1.2.11这两个依赖库的更新。 首先,你需要在一台有网络连接的机器上下载所需的源代码包。...

    Linux Unbuntu 10 系统镜像

    Linux Unbuntu 10 该资源转载自阿里云镜像站系统资源 https://mirrors.aliyun.com/ubuntu/

    unbuntu基础-进阶命令合集

    在Linux世界中,Ubuntu是一个非常流行的开源操作系统,它基于Debian并以其易用性和稳定性而闻名。本合集主要关注Ubuntu的基础与进阶命令,帮助用户...请参考提供的"unbuntu操作命令合集"文件以获取更详细的指令和实例。

    Ubuntu Server 16.04下mysql8.0安装配置图文教程

    Ubuntu Server 16.04下mysql8.0安装配置图文教程 1.从Mysql官网上下载安装文件。有两种方式可供选择: 使用APT安装方式安装 使用完整的安装包进行安装 sudo dpkg -i mysql-apt-config_0.8.6-1_all.deb 2.更新系统...

    ubuntu系统docker离线升级步骤及安装包

    ubuntu系统docker离线升级步骤及安装包

Global site tag (gtag.js) - Google Analytics