Home >Database >Mysql Tutorial >Linux 下编译安装MySQL

Linux 下编译安装MySQL

WBOY
WBOYOriginal
2016-06-01 13:14:09941browse

最近在研究Mysql,当然先要把它安装在机器上才行呀。记录下操作,加深记忆,也供以后参考。


准备工作:

Linux版本:Redhat Linux 6.4

Mysql版本(安装包):mysql-5.6.16.tar.gz

采取的安装方式:采用Cmake进行编译安装,所以先要安装Cmake才行。

Cmake版本(安装包):cmake-2.8.12.2.tar.gz


1、安装Cmake

  • Cmake的安装所需要的依赖关系,我就采用yum安装,直接搞定了:

yum -y install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel  pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel libxml2-devel curl-devel  libicu libicu-devel libmcrypt libmcrypt-devel libmhash libmhash-devel

  • 编译安装Cmake

# tar zxvf cmake-2.8.12.2.tar.gz  (解压安装包)

# cd cmake-2.8.12.2 (进入解压后安装包)

# ./configure   (configure下)

# make && make install  (make 下)

结束后,用 cmake -version 命查看是否安装成功啦。

2、安装Mysql

试想一下,等mysql安装成功后,由哪个用户来启动Mysql呢?以root吗,万一Mysql被攻破了,root用户岂不是很不安全。从一本书中看到一句话:Mysql服务器在Unix下启动的两个要求是:1、以root以外的其它用户来启动。2、以固定的一个用户来启动mysql。所以,我们先要创建mysql用户跟用户组,且将安装目录的所属用户用户组也更改为mysql。

  • 创建所需要的文件目录

# mkdir -pv /usr/local/mysql/data (准备将Mysql安装在这个目录下)

  • 创建所需要用户与用户组

# groupadd mysql (创建用mysql用户组)

# useradd -g mysql -s /sbin/nologin mysql     (创建mysql用户,且属于mysql用户组,shell为nologin)

# chown mysql.mysql /usr/local/mysql/data -R (将刚创建的安装目录的所属用户跟用户组更改为mysql)

# mkdir -pv /etc/mysql

# chown mysql.mysql /etc/mysql -R

  • 安装目录,用户,用户组创建完完毕后,开始mysql的正式安装。

# tar zxvf mysql-5.6.16.tar.gz (解压安装包)

# cd mysql-5.6.16   (进入安装包)

  • 接下来进行Cmake编译

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/usr/local/mysql/data-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci -DWITH_READLINE=1 -DSYSCONFDIR=/etc/mysql -DMYSQL_UNIX_ADDR=/etc/mysql/mysqld.sock -DWITH_EMBEDDED_SERVER=0 -DENABLED_LOCAL_INFILE=1  -DMYSQL_USER=mysql -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_DEBUG=0     

# make && make install  (安装)

等待安装。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 安装完后,进行mysql的各种配置

# cp support-files/my-default.cnf /etc/my.cnf  (将 mysql-5.6.16安装包里的my-default.cnf文件覆盖 /etc/my.cnf)

# cp support-files/mysql.server /etc/init.d/mysqld (将 mysql-5.6.16安装包里的mysql.server 复制到/etc/init.d/mysqld,mysql.server是启动脚本,用于以后启动Mysql)

# chmod +x /etc/init.d/mysqld (增加mysqld文件的可执行权限)

# chkconfig --add mysqld

# chkconfig mysqld on (设置开机时自动启动)

  • 配置/etc/my.cnf文件

在[mysqld]中添加:

datadir = /usr/local/mysql/data

log-error = /usr/local/mysql/data/error.log

pid-file = /usr/local/mysql/data/mysql.pid

user = mysql

tmpdir = /tmp

保存退出

  • #初始化数据库

# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  • #手动启动MySQL

# /etc/init.d/mysqld start

  • 添加环境变量

# vi /etc/profile  (打开profile文件)

在里面添加:PATH=$PATH:/usr/local/mysql/bin  

保存退出

# source /etc/profile (重读profile文件)

  • 进入mysql ,修改root密码

# mysql -uroot    (这时的root还没有密码,直接回车就可进入)

mysql> set password = password("**********"); (红色处为要设置的密码)

打完收工!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn