因为某些原因,我需要使用较高一点版本的mysql,而ubuntu 使用 apt-get 安装的 mysql 版本不是我预期的版本(我试验使用 ubuntu-11-04 apt-get 安装 mysql,mysql 的版本是 5.1.54;ubuntu-10-04 apt-get 安装的mysql 版本是 5.1.41)。所以 只能使用较高版本的 二进制文件安装(当然也可以编译安装,但我自认为自己还太菜,没敢尝试)。下面是安装步骤

[size=x-large][color=blue]环境[/color][/size]
ubuntu-11-04 32位

[size=x-large][color=blue]准备[/color][/size]
[color=red]0.[/color] 获取 mysql-5.5.15-linux2.6-i686.tar.gz 二进制安装文件
[url=http://dev.mysql.com/downloads/mysql/#downloads]mysql 官网下载页面[/url]选择 Linux-Generic 下的 Linux - Generic 2.6 (x86, 32-bit), Compressed (位数适你的linux的位数而定。我这里用的是32位的,所以我选择32位版本的mysql)
你可以在ubuntu 中使用 wget 命令获取,或者任何一种下载工具都可以,只要有 mysql 的 tar.gz 安装文件就行。

wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.15-linux2.6-i686.tar.gz



[color=red]1. [/color]安装 mysql 所使用的依赖


sudo apt-get install libaio1




[size=x-large][color=blue]步骤[/color][/size]


安装步骤参考[url=http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html]mysql官方安装文档[/url]


# 表示当前是 root 用户


$ 表示当前普通用户


pwd 表示当前所在目录


[color=red]0.[/color]添加 mysql 用户组


# groupadd mysql



[color=red]1.[/color]添加 msyql 用户到 mysql 用户组


# useradd -r -g mysql mysql



[color=red]2.[/color]解压 mysql-5.5.15-linux2.6-i686.tar.gz 到 /usr/local


进入 /usr/local


# cd /usr/local



我的 tar.gz 文件路径是 /home/user/mysql-5.5.15-linux2.6-i686.tar.gz,你根据你的mysql安装文件路径调整命令参数


pwd: /usr/local


# tar zxvf /home/user/mysql-5.5.15-linux2.6-i686.tar.gz



[color=red]3.[/color]在 /usr/local 下添加名为 mysql 指向解压的文件夹的软连接


pwd: /usr/local


# ln -s mysql-5.5.15-linux2.6-i686 mysql



[color=red]4.[/color]进入 mysql 目录


pwd: /usr/local


# cd mysql



[color=red]5.[/color]设置 mysql 目录的拥有者和所属的用户组


pwd: /usr/local/mysql


# chown -R mysql .
# chgrp -R mysql .



[color=red]6.[/color]执行mysql 安装脚本


pwd: /usr/local/mysql


# scripts/mysql_install_db --user=mysql



[color=red]7.[/color]再次设置 mysql 目录的拥有者


pwd: /usr/local/mysql


# chown -R root .



[color=red]8.[/color]设置 data 目录的拥有者


pwd: /usr/local/mysql


# chown -R mysql data




[size=x-large][color=blue]安装后配置[/color][/size]


[color=red]0.[/color]复制 mysql 配置文件


pwd: /usr/local/mysql


# cp support-files/my-medium.cnf /etc/my.cnf



[color=red]1.[/color]启动 mysql


pwd: /usr/local/mysql


# bin/mysqld_safe --user=mysql &



[color=red]2.[/color]初始化 root 用户密码


pwd: /usr/local/mysql


# bin/mysqladmin -u root password 'new_password'



[color=red]3.[/color]复制mysql.server 脚本


pwd: /usr/local/mysql


# cp support-files/mysql.server /etc/init.d/mysql.server



好了,mysql配置基本完成


可以查看mysql的状态,结果可能是 "MySQL is runnin"或者是" MySQL is not running"


$ sudo /etc/init.d/mysql.server status



如果地切顺利,mysql是正常运行的,而且可以通过 mysql客户端,进入mysql


$ /usr/local/mysql/bin/mysql -u root -p




可以使用命令让mysql 停止运行


$ sudo /etc/init.d/mysql.server stop



让mysql 启动


$ sudo /etc/init.d/mysql.server start



查看状态


$ sudo /etc/init.d/mysql.server status



或者使用service命令,让mysql 启动,停止


$ sudo service mysql.server [status|start|stop]





[size=x-large][color=blue]可选配置[/color][/size]


[color=red]0.[/color]让mysql开机自己启动


$ sudo update-rc.d -f mysql.server defaults




如果不想让mysql开机自己启动,可以使用


$ sudo update-rc.d -f mysql.server remove




[color=red]1.[/color]把 /usr/local/mysql/bin/mysql 命令加到用户命令中,这样就不用每次都加 mysql命令的路径


$ sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql



现在就直接可以使用 mysql 命令了


$ mysql -u root -p




需要注意的是我用之前版本mysql,配置数据库默认编码是在 [mysqld]下加 default-character-set=utf8


而 mysql 5.5.17用这个配置,似乎是错的,将导致 mysql 不能正常启动。将配置改为 character-set-server=utf8 即可。