mysql编译安装

以前的项目都用Oracle,新项目准备使用Mysql数据库,所以就先装个玩一下,把安装过程记录一下,当 是学习mysql 的开篇了!mysql是开源的,作为一只有那么点GEEK情结的超猿类,除了安装外,还是要编译一把才过瘾的!

编译

  • 基础工具准备:

    要编译,首先需要准备好编译的环境工具,此次我的linux环境还是CentOS6.5版本,通过以下脚本安装好最新的编译工具与库文件:

[root@iZ28gxqlqfsZ ~]# yum install gcc gcc-c++ ncurses-devel perl<

同时我们需要安装cmake,我们使用当前最新的稳定版本V3.2,命令如下:

[root@iZ28gxqlqfsZ ~]# wget http://www.cmake.org/files/v3.2/cmake-3.2.0.tar.gz 
[root@iZ28gxqlqfsZ ~]# tar -xzvf cmake-3.2.0.tar.gz 
[root@iZ28gxqlqfsZ ~]# cd cmake-3.2.0
  • 源码准备

正常进入mysql官网下载页面,找不到源码的下载按钮(听说是中国被墙),进入如下页面后选择一个国家的FTP资源去下载,我选择了鸟国的!

http://dev.mysql.com/downloads/mirrors.html
[root@iZ28gxqlqfsZ ~]# wgetftp:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.44.tar.gz
[root@iZ28gxqlqfsZ ~]# tar -zxv -f mysql-5.5.44.tar.gz
  • 用户环境准备:

数据库用户组与用户名

[root@iZ28gxqlqfsZ ~]# groupadd mysql
[root@iZ28gxqlqfsZ ~]# useradd -r -g mysql mysql

mysql安装目录

[root@iZ28gxqlqfsZ local]# mkdir <span style="color: #ff0000;">/usr/local/mysql</span>
[root@iZ28gxqlqfsZ local]# cd /usr/local/mysql
[root@iZ28gxqlqfsZ mysql]# chown -R mysql:mysql .

mysql数据库文件目录

[root@iZ28gxqlqfsZ ~]# mkdir <span style="color: #ff0000;">/data/mysql</span>
[root@iZ28gxqlqfsZ ~]# cd /data/mysql
[root@iZ28gxqlqfsZ ~]# chown -R mysql:mysql .

环境变形执行路径更改

vim /etc/profile 
#mysql path
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

source /etc/profile

设置源码编译配置脚本:

[root@iZ28gxqlqfsZ mysql-5.5.44]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -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 \
> -DEXTRA_CHARSETS=all
  • 编译mysql

删除CMakeCache.txt,后重新编译:

[root@iZ28gxqlqfsZ mysql-5.5.44]# rm CMakeCache.txt
[root@iZ28gxqlqfsZ mysql-5.5.44]# make
  • 安装MYSQL:
[root@iZ28gxqlqfsZ mysql-5.5.44]# make install

到这一步mysql 数据库就已经编译安装好了!

初始化

  • 初始化数据库
[root@iZ28gxqlqfsZ ~]# cd /usr/local/mysql
[root@iZ28gxqlqfsZ ~]# scripts/mysql_install_db --user=mysql --datadir=/data/mysql

配置文件修改

[root@iZ28gxqlqfsZ mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
[root@iZ28gxqlqfsZ mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@iZ28gxqlqfsZ mysql]# cp /usr/local/mysql/support-files/my-medium.cnf  /usr/local/mysql/my.cnf

修改启动参数:
my.cnf 配置的[mysqld]项新增两个目录配置

[root@iZ28gxqlqfsZ mysql]# vi /usr/local/mysql/my.cnf

[mysqld]
...
basedir = /usr/local/mysql
datadir = /data/mysql
  • 启动数据库

启动数据库并让数据库开机自动启动

[root@iZ28gxqlqfsZ ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql

[root@iZ28gxqlqfsZ mysql]# chkconfig –level 35 mysqld on

检查mysql服务是否启动:查看3306端口是否由mysqld 进程正在监听,因为没有设置密码,直接打mysql 命令进入看是否能进入root用户

[root@iZ28gxqlqfsZ mysql]# netstat -tulnp | grep 3306
[root@iZ28gxqlqfsZ mysql]# mysql

到此,mysql 数据库已经编译安装完成!小伙伴可以愉快进去玩耍了!当然mysql 数据库跟Oracle 数据库的上层的使用基本差不多,只是有些细微的结构上的差别,下面就列出最基本的操作!

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>