Linux下源码安装 mysql5.6.tar.gz

时间:2021-11-02 21:08:00

·[TOC]

前言

很快迁移到 mysql 5.6版本。 安装却和之前的方式有些不一样 做下记录。

5.6的源码安装用到的是cmake, 需要事先安装完毕。 中间遇到的依赖问题都可以用 包管理器 search 包。 然后再安装依赖包。

记录下安装步骤

前期准备

# uname -a
Linux 2.6.32-642.1.1.el6.x86_64 #1 SMP Tue May 31 21:57:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/redhat-release
CentOS release 6.8 (Final)

包下载:

  • 官网下载即可

创建mysql用户

# pwd
/home/work/local/A_Environment/mysql-5.6.22

# groupadd mysql
# useradd -r -g mysql mysql
# chown -R mysql .
# chgrp -R mysql .

// 需要注意不能换行, 实在不行贴到文本框再贴出来
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DWITH_DEBUG=0 -DMYSQL_TCP_PORT=3306 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER-NOTFOUND=gcc -DCMAKE_CXX_COMPILER=g++

环境上需要注意的是:

  • centos 中gccc就叫gcc, 但是g++叫gcc-c++.x86_64
  • curses 用这个 ncurses-devel.x86_64

安装

编译很简单, 如上准备完毕之后已经有了 Makefile, 只需要 make -j 多线程编译即可.

我在编译的时候因为输出太大量被服务器给关闭链接了。 可以这样:

# pwd
/home/work/local/A_Environment/mysql-5.6.22
# nohup make -j &

不过强烈不建议在自己机器上编译, 因为我编译的时候把机器搞挂了。

make 完毕之后

# pwd
/home/work/local/A_Environment/mysql-5.6.22
# make install

安装文件就跑到 /usr/local/mysql 里面去了。

安装很简单:

// 此处是一个取巧操作。 可以避免很多的麻烦
# ln -s /usr/local/mysql /var/lib/mysql
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql

// 完毕之后不要忘了权限的更改
# chown -R root:root .
# chown -R mysql:mysql data/

启动以及使用

以mysql用户启动

$ su mysql
$ pwd
/usr/local/mysql
$ sh bin/mysqld_safe &
// 定制服务
$ sudo cp support-files/mysql.server /etc/init.d/mysqld
// 登陆前需要先修改密码
$ mysqladmin –u root password '密码'