一:由于centos6.3自带的mysql5.1,所以需要卸载自带的mysql.预计需要3分钟左右。
卸载成功了。
二:编译安装mysql,需要cmake编译器,在官网下载,我一般下载的源码喜欢放在/usr/local/src/下
cd
/usr/local/src/
wget
http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz
tar zxvf
cmake-2.8.5.tar.gz
cd
cmake-2.8.5
三:执行cmake-2.8.5的bootstart,发现错误。
这是因为没有安装cmake的依赖软件gcc,gcc-c++
yum -y install gcc gcc-c++
------->安装完成后执行
./bootstrap
make && make
install
cmake -version
------>安装完成后,检测版本查看是否已安装
四:下载mysql官网编译包,版本要对应你的linux系统,uname -i
查看自己的系统版本,在官网对于下载就OK,我的是i386,所以这里下载的是32位的mysql编译安装包
cd /usr/local/src/
tar -zxvf
mysql-5.5.17.tar.gz
mv mysql-5.5.17.tar.gz /usr/local/mysql
--->个人喜欢把解压包放在/usr/local/
cd /usr/local/mysql
五:为安装mysql做准备。
usermod -d
/usr/local/mysql/ -s /sbin/nologin mysql
--->我的用户里有mysql用户,所以修改下就好,没有的新建一个mysql用户和mysql用户组
mkdir
/data/mysql/
----->新建mysql的数据库目录
chown -R
mysql:mysql /data/mysql/ ---->修改mysql数据库目录权限
chown -R
mysql:mysql /usr/local/mysql/
----->修改mysql安装目录权限
六:cmake编译安装mysql需要安装gcc,gcc-c++,Bison,ncurses-devel,cmake这五虎将,如果不安装报错如下喽!
七:cmake配置文件,我是将cmake编译文件写进一个bash脚本里,当然你也可以复制。
#!/bin/bash
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
\
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
\
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
\
-DWITH_INNOBASE_STORAGE_ENGINE=1
\
-DWITH_ARCHIVE_STORAGE_ENGINE=1
\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
\
-DMYSQL_DATADIR=/data/mysql/
\
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=0
make && make install
八:复制配置文件
cp
support-files/my-medium.cnf
/etc/my.cnf
cp
support-files/mysql.server /etc/init.d/mysqld
chmod
+x /etc/init.d/mysqld
九:初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
十:安装mysql完成了。
/usr/local/mysql/bin/mysql
十一:启动错误日志
Starting MySQL...The server quit without
updating PID file [FAILED]ysql/Changzhi.pid).
解决办法:1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法
:给予权限,执行 “chown-R mysql:mysql/var/data” “chmod -R 755
/usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程解决方法:用命令“ps
-ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的
!http://blog.rekfan.com/?p=186
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir =
/usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown”
“chmod”命令赋予mysql所有者及权限
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。