CentOS 编译源码安装MySQL-5.6.16
mysql5.6.16的安装和之前的5.5、5.1有些不同,编译的时候不再使用./configure
来进行了,使用了cmake
命令来进行编译项目。
1、准备编译环境
yum
-y
install
make
gcc-c++
cmake bison-devel ncurses-devel gcc \
autoconf
automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*
wget
http:
//dev
.mysql.com
/get/Downloads/MySQL-5
.6
/mysql-5
.6.16.
tar
.gz
tar
-zxvf
mysql-5.6.16.
tar
.gz
cd
mysql-5.6.16
3、检查环境
检查是否安装有mysql,CentOS6.4采用最小安装(minimal)的时候默认有带mysql,检查并协助mysql:
rpm -qa | grep mysql
卸载:yum -y remove mysql名称
3.1、groupadd mysql #添加mysql组
3.2、useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
3.3、mkdir -p /data/mysql #创建mysql数据库存放目录
3.4、chown -R mysql:mysql /data/mysql#设置mysql数据库目录权限
3.5、mkdir -p /usr/local/mysql #创建mysql安装目录
4、编译源码
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLE_DOWNLOADS=1
Googlemock was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source.
– If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80
- 使用参数-DENABLE_DOWNLOADS=1 自动下载。
-
有网络限制,设置http代理
export http_proxy=http://example.com:80
。环境变量http_proxy
也为 curl 等其他工具所用。尽管 yum 可以识别大写或小写的 http_proxy,但curl 要求环境变量的名称是小写。
如果这个cmake这个步骤有出现问题,解决后重新再cmake一次。如果输出类似这样,那么就好了。
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
--
Running cmake version 2.6.4 --
MySQL 5.6.16 --
Packaging as: mysql-5.6.16-Linux-x86_64 --
HAVE_VISIBILITY_HIDDEN --
HAVE_VISIBILITY_HIDDEN --
HAVE_VISIBILITY_HIDDEN --
Using cmake version 2.6.4 --
Not building NDB --
Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl --
GMOCK_SOURCE_DIR:/root/mysql-5.6.16/source_downloads/gmock-1.6.0 --
GTEST_LIBRARIES:gmock;gtest --
Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl --
Configuring done --
Generating done --
Build files have been written to: /root/mysql-5.6.16 |
接着编译源码
1
|
make && make install |
配置mysql数据库
1、cd /usr/local/src/mysql-5.0.41
cp ./support-files/my-huge.cnf /etc/my.cnf #拷贝配置文件
vi /etc/my.cnf#编辑配置文件,在[mysqld]部分添加
datadir = /data/mysql #添加mysql数据库路径
./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把mysql加入系统启动
chmod 755 /etc/init.d/mysqld #增加执行权限
2、chkconfig mysqld on #加入开机启动
vi /etc/rc.d/init.d/mysqld #编辑添加mysql安装路径和数据库存放目录
basedir = /usr/local/mysql
datadir = /data/mysql
3、vi /etc/profile #把mysql服务加入系统环境变量:最后添加下面这行
export PATH = $PATH:/usr/local/mysql/bin
shutdown -r now #需要重新启动,等系统重启后继续下面操作
4、mysql_secure_installation#设置mysql密码,根据提示输入y 回车输入2次密码
或者直接修改密码 /usr/local/mysql/bin/mysqladmin -u root -p password "123456" #修改密码
service mysqld restart #重启服务
到此,mysql安装完成!
5、如果想在任一目录下输入mysql -u root -p 进入mysql命令行,需要在每个用户变量里配置。
linux在每个用户下面都有个.bash_profile的用户变量文件,将mysql的bin目录路径添加到该用户变量的PATH后面。如:
vi /root/.bash_profile
添加如下:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
此时在任一目录下输入mysql -u root -p密码 就能进入mysql命令了。
6、mysql的驱动存放位置:jdk主目录/jre/lib/ext/