mysql5.5.22编译安装
一、准备工作
(1)干净的centos6.7系统(这个是本人的测试环境)
(2)准备两个包:cmake-2.5.6.tar.gz和mysql5.5.22.tar.gz
(3)把需要的包都放到/usr/local/src目录,如果不想用winscp把包放到Linux系统,可以在Linux上安装rz。方法如下:
查看rz包是哪个:
yum provides "*/bin/rz"
安装rz包,可以用tab补全命令
yum -y install lrzsz.x86_64
#----------------------------------------------------------------------------------------------------------------------
小技巧:批量解压指定目录下所有的.tar.gz包
ls *.tar.gz | xargs –n1 tar –zxf //这个命令要在指定目录执行
#-----------------------------------------------------------------------------------------------------------------------
二、查看是否已经安装mysql,有就卸载原来的
rpm -q mysql
rpm -q mysql-server
#-----------------------------------------------------------------------------------------------------------------------
如果有就卸载
rpm -e mysql mysql-server –nodeps
rpm -q ncurses-devel
这一步可以不进行操作(本人亲测,在这个实验中安装和不安装mysql都编译成功了)
安装一下依赖包:
yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake libaio libaio-devel autoconf bzr bison libtool
#-----------------------------------------------------------------------------------------------------------------------
三、编译安装
这是我已经在/usr/local/src目录下的解包编译操作
如果不在该目录下,解压的时候可以指定目录,如下:
tar –zxf cmake-2.8.6.tar.gz –C /usr/local/src
+++++++++++++++++++++++++++++++++++++++++++++++
tar -zxf cmake-2.8.6.tar.gz
cd cmake-2.8.6/
./configure
gmake && gmake install //这里用make && make install也行
echo $? //返回0说明没问题
++++++++++++++++++++++++++++++++++++++++++++++++
mkdir –p /usr/local/mysql/data
groupadd mysql
useradd –r –g mysql mysql
#-----------------------------------------------------------------------------------------------------------------------
tar -zxf mysql-5.5.22.tar.gz
cd mysql-5.5.22/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
echo $?
这里如果提示问题让你remove CMakeCache.txt 并且安装ncurses-devel,那就rm -rf CMakeCache.txt,然后yum -y install ncurses-devel
删除、安装完以后,再次执行编译过程
echo $?
make && make install //确认上一步返回为0的时候,可以执行这一步,否则需要解决问题以后在进行这一步操作
#-----------------------------------------------------------------------------------------------------------------------
chown -R mysql:mysql /usr/local/mysql/
\cp support-files/my-medium.cnf /etc/my.cnf
#-----------------------------------------------------------------------------------------------------------------------
初始化数据库:
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --
datadir=/usr/local/mysql/data/
echo $? //最好执行操作以后都执行以下这个命令确认无误
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile //注意这里点和后面目录有空格
#-----------------------------------------------------------------------------------------------------------------------
建立软连接:
ln -s /usr/local/mysql/bin/* /usr/local/bin/
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
#-----------------------------------------------------------------------------------------------------------------------
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restart
netstat -anpt | grep 3306
mysql -u root //登录数据库,这里直接这样就可以登陆,如果加了-p 那叫你输入密码的时候世界回车就行
登录以后可以退出执行下面的操作,也可以在这一步更改数据库密码,建立两种都试一试。
这里更改密码的方法:
set password=password(‘123456’); //括号里面是单引号,最后加上分号别忘记
exit退出数据库
#-----------------------------------------------------------------------------------------------------------------------
/usr/local/mysql/bin/mysqld_safe --user=mysql &
提示这个可以直接ctrl + c中断
killall -9 mysqld
echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.local
cd /usr/local/mysql/bin
mysqladmin -uroot password ‘123456‘ //mysqladmin这个要在安装目录的bin目录下才能执行。如果不是登录数据库更改密码,是在这一步利用mysqladmin更改密码。改了以后可以尝试登录数据库,看看是否密码更改成功
[[email protected] bin]# mysql -uroot –p
Enter password: //输入刚才更改的密码123456
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql>
出现这样的就是成功了