源码编译安装MySQL5.5

前面的blog都有介绍mysql数据库存,不过那都是通用二进制的格式安装的,本文主要介绍在Centos6.5系统上源码编译安装MySQL数据库以及如何在Centos5系列版本的系统上如何编译安装cmake编译器。


一、为Centos5.9编译安装cmake

如果是centos5系列版本系统是不支持cmake编译器的,需要编译安装cmake使其支持mysql5.5的编译安装;
下面演试下在centos5.9系统上如何编译安装cmake编译器;
lftp 172.16.0.1:/pub/Sources/5.i386/mysql-5.5> get cmake-2.8.8.tar.gz
安装开发包组
[root@ouyang cmake-2.8.8]# yum groupinstall "Devlopment Libraries" -y
[root@ouyang cmake-2.8.8]# yum -y install gcc*  
tar xf cmake-2.8.8.tar.gz   到当前目录下;
cd cmake-2.8.8
./configure
make && make install
cmake默认安装的位置是在/usr/local/bin/cmake,因此就不需写入到PATH环境变量里,就可执行该命令


二、源码安装mysql5.5

由于Centos6之后系列的版本默认就支持cmake编译器,所以这里只需yum安装即可;
[root@mysql ~]# lftp 172.16.0.1/pub/Sources/sources/mysql/mysql-5.5.33.tar.gz   下载版本
默认没有cmake编译器,只使用yum安装即可;(当然得事先配置好yum源才行);
[root@mysql mysql-5.5.33]# yum list all | grep cmake    查看下本地yum源是否有cmake包
cmake.x86_64                               2.6.4-5.el6                    media
cmake-fedora.noarch                        1.0.5-1.el6                    epel 
cmake-gui.x86_64                           2.6.4-5.el6                    media
cmake28.x86_64                             2.8.9-1.el6                    epel 
cmake28-gui.x86_64                         2.8.9-1.el6                    epel 
[root@mysql mysql-5.5.33]#
[root@mysql ~]# yum -y install cmake28
[root@mysql mysql-5.5.33]# yum -y install readline-devel zlib-devel openssl-devel
[root@mysql ~]# ntpdate 172.16.0.1    同步一下系统时间 
 6 Apr 15:59:47 ntpdate[26023]: step time server 172.16.0.1 offset 167572.026670 sec


新建一个分区用于单独存放数据库;

pvcreate /dev/sda3
vgcreate myvg /dev/sda3
lvcreate -L 30g -n mydata myvg
mke2fs -t ext4 /dev/myvg/mydata   格式化
mkdir /mydata  创建挂载目录
vim /etc/fstab    设为开机自动挂载
/dev/myvg/mydata    /mydata    ext4    defaults    0 0
cd /mydata
mkdir data   创建数据库目录


创建mysq用户与组;

groupadd -r mysql
useradd -g mysql -r -d /mydata/data mysql   指定其家目录为/mydata/data
chown -R mysql:mysql /mydata/data   将数据用户修改其宿主宿组为mysql    准备前工作已全部就绪
[root@mysql ~]#tar xf mysql-5.5.33.tar.gz ^C
[root@mysql ~]# cd mysql-5.5.33
[root@mysql mysql-5.5.33]# cmake28 . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
[root@mysql mysql-5.5.33]# make && make install


修改mysql下的所有目录及文件的宿组为mysql
[root@mysql ~]# cd /usr/local/mysql/
[root@mysql mysql]# chown :mysql ./* -R

执行数据初始化

[root@mysql mysql]# scripts/mysql_install_db --datadir=/mydata/data/ --user=mysql


提供数据库服务脚本文件

[root@mysql mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@mysql mysql]# chmod +x /etc/rc.d/init.d/mysqld
[root@mysql mysql]# chkconfig --add mysqld


提供配置文件

[root@mysql mysql]# cp support-files/my-large.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf‘? y     事先有一个配置文件,覆盖即可
[root@mysql mysql]#


打开配置文件添加数据库目录

vim /etc/my.cnf
datadir=/mydata/data


修改PATH环境变量,把mysql二进制程序添加去PATH

vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH


重新加载一下这个文件即可生效 source /etc/profile.d/mysql.sh

service mysqld start
ss -tunl | grep 3306


测试登录Mysql;


删除所有匿名用户,为root用户设置密码;

mysql> DROP USER ‘‘@‘localhost‘;
mysql> DROP USER ‘‘@‘mysql.yang.com‘;
mysql> select user,host,password from user;



为root用户设置密码;

mysql> update user set password=PASSWORD(‘redhat‘) WHERE=‘root‘;  修改mysql库中root用户的密码
mysql> flush privileges;   刷新

假如以后就在本机连接mysql时,又不想指定用户名密码,该怎么办?
vim .my.conf   在root用户下创建一个隐藏文件;写入
[Client]
user = ‘root‘
password = ‘redhat‘
host = ‘localhost‘



Mysql安装已完成,是不是很简单咯....,洗洗睡了!




本文出自 “春天里” 博客,谢绝转载!

源码编译安装MySQL5.5,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。