Linux上源码编译安装MySQL数据库

来源:互联网 发布:卸载office2010的软件 编辑:程序博客网 时间:2024/05/29 14:58

安装环境介绍

  • 阿里云CentOS6.5
  • Mysql版本为:mysql-5.5.32
  • 安装方式:源码编译

安装cmake

CMake是一个跨平台的安装(编译)工具,因为我们采用源码编译的方式安装mysql,所以在安装之前我们需要在Linux系统上安装编译工具。可以在cmake官网(http://www.cmake.org/)上下载安装包。

  • 把下载的cmake源码上传到linux系统
  • 解压 tar -zxvf cmake-2.8.8.tar.gz
  • 解压之后进入到cmake目录
    cd /usr/local/tools/cmake-2.8.8
  • 执行命令:
[root@iZbp1efkej2remjbhg7h0wZ cmake-2.8.8]# ./bootstrap
  • 编译和安装
[root@iZbp1efkej2remjbhg7h0wZ cmake-2.8.8]# make && make install

安装Mysql依赖包

 [root@iZbp1efkej2remjbhg7h0wZ ~]#  yum  install  ncurses-devel -y

创建mysql用户和用户组

[root@iZbp1efkej2remjbhg7h0wZ ~]# groupadd mysql
[root@iZbp1efkej2remjbhg7h0wZ ~]# useradd mysql -s /sbin/nologin -M -g mysql

编译安装MySQL

准备工作做好了,接下来就可以下载安装mysql了,首先我们去mysql官网下载mysql源码包。点击下载mysql源码包
首先把下载的mysql源码包上传到linux系统,我的上传目录为:/usr/local/tools/

1.解压

[root@iZbp1efkej2remjbhg7h0wZ tools]#  tar -zxvf mysql-5.5.32.tar.gz

2.使用cmake编译
执行以下命令:

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \-DMYSQL_DATADIR=/application/mysql-5.5.32/data \-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DENABLED_LOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \-DWITH_FAST_MUTEXES=1 \-DWITH_ZLIB=bundled \-DENABLED_LOCAL_INFILE=1 \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0

3.编译和安装

make && make install 

通过上面的步骤,mysql初步安装已经好了,可以通过以下命令查看

[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# ll /application/mysql/data/

执行命令可以看到如下目录:
这里写图片描述

MySQL配置

1.进入到mysql源码目录,copy一份配置文件到 /etc 目录

[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf

2.改变data目录属主和属组

[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]#  chown -R mysql.mysql /application/mysql/data/

注:用户mysql和用户组mysql就是我们初始创建的用户和组。

3.修改tmp目录权限

[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# chmod  -R 1777  /tmp/

注:执行上面命令以后tmp目录权限会变为drwxrwxrwt。
文件t权限:如果文件设置了t权限则只用属主和root有删除文件的权限

4.初始化

进入到scripts目录

[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# cd /application/mysql/scripts/

执行命令

 ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

5.设置mysql启动服务

首先进入到mysql源码目录,执行以下命令:

[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# /bin/cp support-files/mysql.server /etc/init.d/mysqld

6.给mysqld新增执行权限

[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# chmod +x  /etc/init.d/mysqld

7.启动mysql

经过以上步骤mysql已经安装好了,接下来就可以启动服务了

[root@iZbp1efkej2remjbhg7h0wZ ~]# /etc/init.d/mysqld start

Starting MySQL… SUCCESS! (mysql启动成功)

8.添加mysql环境变量

[root@iZbp1efkej2remjbhg7h0wZ ~]# vim /etc/profile

在底部添加如下内容:
这里写图片描述

保存之后,执行以下命令使配置生效

[root@iZbp1efkej2remjbhg7h0wZ ~]# source /etc/profile

mysql环境变量配置好之后,就可以使用mysql命令登录mysql了。
这里写图片描述

MySQL安全配置

1.修改root密码

mysql> /application/mysql//bin/mysqladmin -u root password 'root'

root密码设置后,使用以下命令登录mysql
这里写图片描述

2.开启mysql远程访问

配置防火墙打开3306端口:

[root@iZbp1efkej2remjbhg7h0wZ ~]# vim /etc/sysconfig/iptables

添加3306端口:
这里写图片描述
最后重启防火墙

设置root用户可以远程访问:
这里写图片描述

使修改生效:

mysql> FLUSH PRIVILEGES 

总结

Linux上 mysql安装另外两种方式:

  1. yum方式安装
    yum方式安装极其简单,只需执行 yum install mysql-server即可。
    yum方式安装适合对数据库要求不太高的场合。

  2. 二进制安装方式
    和源码安装比较相似,二进制安装不需要编译。

有什么错误之处,欢迎大家指正。

0 0
原创粉丝点击