mysql的安装一般有两种方式:二进制文件安装和编译安装。
本文使用二进制安装方式安装MySQL 5.5.x,有兴趣的朋友可以自己尝试编译安装。
环境:Ubuntu-11-10 32位
准备
0.获取mysql-5.5.20-linux2.6-i686.tar.gz二进制安装文件
具体步骤:
mysql官网下载页面选择Linux-Generic下的Linux - Generic 2.6 (x86,32-bit), Compressed (位数适你的linux的位数而定。 我这里用的是32位的,所以我选择32位版本的mysql)
你可以在ubuntu 中使用 wget 命令获取,或者任何一种下载工具都可以,只要有 mysql 的 tar.gz 安装文件就行。
1. wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.20-linux2.6-i686.tar.gz
1.安装 mysql所使用的依赖
sudo apt-get install libaio1
安装过程
安装步骤参考mysql官方安装文档
# 表示当前是 root 用户
$ 表示当前普通用户
pwd 表示当前所在目录
0.添加mysql用户组
# groupadd mysql
1.添加msyql用户到mysql用户组
# useradd -r -g mysql mysql
2.解压mysql-5.5.20-linux2.6-i686.tar.gz到/usr/local进入/usr/local
# cd /usr/local
我的 tar.gz文件路径是/home/user/mysql-5.5.20-linux2.6-i686.tar.gz,你根据你的mysql安装文件路径调整命令参数
pwd: /usr/local
# tar zxvf /home/user/mysql-5.5.20-linux2.6-i686.tar.gz
3.在/usr/local下添加名为mysql指向解压的文件夹的软连接
pwd: /usr/local
# ln -s mysql-5.5.20-linux2.6-i686 mysql
4.进入mysql目录
pwd:/usr/local
# cd mysql
5.设置mysql目录的拥有者和所属的用户组
pwd:/usr/local/mysql
# chown -R mysql .
# chgrp -R mysql .
6.执行mysql安装脚本
pwd:/usr/local/mysql
# scripts/mysql_install_db --user=mysql
7.再次设置mysql目录的拥有者
pwd:/usr/local/mysql
# chown -R root .
8.设置data目录的拥有者 pwd:/usr/local/mysql
# chown -R mysql data
安装后配置
0.复制 mysql 配置文件
pwd:/usr/local/mysql
# cp support-files/my-medium.cnf /etc/my.cnf
复制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是正常运行的,而且输入刚才设置的new_password可以通过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]
启动mysql
pwd: /usr/local/mysql
# bin/mysqld_safe --user=mysql &
执行这个命令之后,会在 /usr/local/mysql/data目录下生成 <你的主机名>.err 文件。
通过查看这个文件可以看到在安装使用 mysql 的过程。如果在 .err 文件中看到有类似:
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
可重新执行命令:# scripts/mysql_install_db --user=mysql
再开启 mysql :# /etc/init.d/mysql.server start
3.初始化root用户密码
注意:要修改 root 用户的密码时,需要 "MySQL is not running" 状态,否则无法修改密码,显示类似 sock等错误。
pwd:/usr/local/mysql
# bin/mysqladmin -u root password 'new_password'
可选配置
0.让mysql开机自己启动
$ sudo update-rc.d -f mysql.server defaults
如果不想让mysql开机自己启动,可以使用
$ sudo update-rc.d -f mysql.server remove
1.把/usr/local/mysql/bin/mysql命令加到用户命令中,这样就不用每次都加mysql命令的路径
$ sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
现在就直接可以使用 mysql命令了
$ mysql -u root -p