前面的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‘
本文出自 “春天里” 博客,谢绝转载!