MySQL安装

        平时安装mysql都是源码包安装的,但是由于它的编译需要很长的时间,所以建议使用二进制免编译包安装。可以到MySQL官方网站去下载,具体版本根据平台和需求而定,目前比较常用的为mysql-5.0/mysql-5.1,5.5和5.7版本虽然已经发布有段日子了,但是在线上跑服务器的还是少数。所以本文安装5.1的版本。

        安装以前一定要知道Linux系统是多少位。

1
2
uname -i
i386

        i386其实就是32位,需要下载i686的包,如果结果为x86_64,则为64位。

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

1
2
cd /usr/local/src/
wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

2、解压

1
[root@localhost src]# tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

3、把解压完的数据移动到/usr/local/mysql

1
[root@localhost src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql

4、建立mysql用户

1
[root@localhost src]# useradd -s /sbin/nologin mysql

5、初始化数据库

1
2
3
[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”,说明执行正确,否则请仔细查看错误信息。

遇到错误1

1
./bin/mysqld: error while loading shared librarues:libstdc++.so.5:cannot open shared object file:

        解决办法

1
yum install -y compat-libstdc++-33

遇到错误2

1
./scripts/mysql_install_db: ./bin/my_print_defaults: /lib/ld-linux.so.2:bad ELF interpreter: NO such file or directory

        这是因为,系统版本和mysql版本不一致。比如Linux系统是32位,mysql安装包是64位。所以解决办法是重新下载合适的安装包。

依赖包的安装

1
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools

6、拷贝配置文件

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

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

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

8、修改启动脚本

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

        需要修改的地方有 datadir=/data/mysql (之前初始化数据库时定义的目录)

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

1
2
3
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start

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

        检查mysql是否启动:

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