我们平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以,建议你安装二进制免编译包。你可以到MySQL官方网站去下载 http://mirrors.ctyun.cn/Mysql/MySQL-5.1/具体版本根据你的平台和需求而定,目前比较常用的为mysql-5.0/mysql-5.1, 5.5版本虽然已经发布有段日子了,但是貌似用在线上跑服务的还是少数。所以建议你下载一个5.1的版本。(注意,下面的安装步骤是基于32位操作系统的,如果你的系统为64位,则需要下载一个64位的包)

1.下载mysql到/usr/local/src/

cd /usr/local/src/ wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

2.解压

[root@localhost src]# tar zxvf mysql-5.1.73-linux-i686-glibc23.tar.gz

3.把解压完的数据移动带重命名/usr/local/mysql

[root@qiangzi src]# mv mysql-5.1.73-linux-i686-glibc23 /usr/local/mysql

4.建立mysql用户

[root@localhost src]# useradd -s /sbin/nologin -M mysql   (-M不用创建家目录)

# ls /home/ (查看home下有没有MySQL目录,有则删除)

5.初始化数据库

[root@localhost src]# cd /usr/local/mysql [root@localhost mysql]# mkdir -p /data/mysql ; chown -R mysql:mysql /data/mysql (创建目录)[root@localhost mysql]#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql (初始化)

--user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果你看到两个 “OK” 说明执行正确,否则请仔细查看错误信息。

6.拷贝配置文件

[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf

7.拷贝启动脚本文件并修改其属性

[root@localhost mysql]#cp support-files/mysql.server  /etc/init.d/mysqld [root@localhost mysql]# chmod 755 /etc/init.d/mysqld

8.修改启动脚本

[root@localhost mysql]# vim /etc/init.d/mysqld

需要修改的地方有 “basedir=/usr/local/mysql”“datadir=/data/mysql” (前面初始化数据库时定义的目录)

9.把启动脚本加入系统服务项,并设定开机启动启动mysql

[root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig mysqld on [root@localhost mysql]# service mysqld start /etc/init.d/mysqld start

如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err. 检查mysql是否启动的命令为:

[root@localhost mysql]# ps aux |grep mysqld

root     23829  0.2  0.0   3044  1304 pts/0    S    21:52   0:00 /bin/sh ./bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/qiangzi.pid

mysql    23953  3.7  2.3 390904 44632 pts/0    Sl   21:52   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/qiangzi.err --pid-file=/data/mysql/qiangzi.pid --socket=/tmp/mysql.sock --port=3306

root     23971  0.0  0.0   5980   744 pts/0    S+   21:52   0:00 grep mysqld