CentOS6.4+MySQL-5.6.12 安装详解
CentOS6.4+MySQL-5.6.12 安装详解
大纲
一、安装方式分类
二、具体安装方式详解
MySQL 5.5 三大安装方式:【二进制、源代码编译 和 RPM 包】 安装步骤及优缺点比较
- 源码安装
- 通用二进制包安装
- RPM包安装
一、Mysql安装方式分类
1.源码包安装
从MySQL5.5开始就要用cmake安装了,已不能用./configure编译安装,我们查看一下mysql5.6.12的安装目录,从下面的安装目录我们可以看到,里面根本没有configure文件,下面我们来说说cmake,
[root@mysql mysql-5.6.12]# ls
BUILD config.h.cmake extra libmysqld packaging sql-bench unittest
BUILD-CMAKE configure.cmake include libservices plugin sql-common VERSION
client COPYING INSTALL-SOURCE man README storage vio
cmake dbug INSTALL-WIN-SOURCE mysql-test regex strings win
CMakeLists.txt Docs libevent mysys scripts support-files zlib
cmd-line-utils Doxyfile-perfschema libmysql mysys_ssl sql tests
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。
2.通用二进制包安装
通用二进制包安装说明软件包已经编译好,不需要我们重新编译,我们只要解压一下,进行简单配置便可以运行使用!
3.RPM包安装
这个安装我们不过多说明,大家应该都知道!好了,下面我们就来具体说明这三种安装!
二、具体安装方式详解
- 源码安装
- 通用二进制包安装
- RPM包安装
源码包安装
1.安装cmake(最新的cmake-2.8.11.2)
123456789101112131415161718 [root@mysql src]# tar xf cmake-2.8.11.2.tar.gz
[root@mysql src]# cd cmake-2.8.11.2
[root@mysql cmake-2.8.11.2]# ls
bootstrap CTestCustom.cmake.in
ChangeLog.manual CTestCustom.ctest.in
ChangeLog.txt DartConfig.cmake
CMakeCPack.cmake DartLocal.conf.in
CMakeCPackOptions.cmake.in Docs
CMakeGraphVizOptions.cmake doxygen.config
CMakeLists.txt Example
CMakeLogo.gif Modules
cmake_uninstall.cmake.in Readme.txt
CompileFlags.cmake Source
configure Templates
Copyright.txt Tests
CTestConfig.cmake Utilities
[root@mysql cmake-2.8.11.2]# ./bootstrap
[root@mysql cmake-2.8.11.2]# make && make install
2.安装编译MySQL-5.6.12
说明:cmake指定编译选项的方式不同于make,其实现方式对比如下
./configure 对应的是 cmake .
./configure --help 对应的是 cmake . -LH 或者是 ccmake .
3.创建mysql的用户与组
12 [root@mysql ~]# groupadd -r mysql
[root@mysql ~]# useradd -g mysql -r -s /sbin/nologin mysql
4.创建mysql的数据目录(创建逻辑卷存放数据)
[root@mysql ~]# fdisk /dev/sda #创建一个新分区类型为8e
Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000a0a2
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1301 10240000 83 Linux
/dev/sda3 1301 1938 5120000 83 Linux
/dev/sda4 1938 2611 5405696 5 Extended
/dev/sda5 1939 2066 1024000 82 Linux swap / Solaris
/dev/sda6 1938 1938 1129+ 83 Linux
/dev/sda7 2066 2327 2099724 8e Linux LVM
[root@mysql ~]# partx -a /dev/sda #让内核重新读取一下分区
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
BLKPG: Device or resource busy
error adding partition 4
BLKPG: Device or resource busy
error adding partition 5
[root@mysql ~]# fdisk -l #查看新建的分区
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000a0a2
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1301 10240000 83 Linux
/dev/sda3 1301 1938 5120000 83 Linux
/dev/sda4 1938 2611 5405696 5 Extended
/dev/sda5 1939 2066 1024000 82 Linux swap / Solaris
/dev/sda6 1938 1938 1129+ 83 Linux
/dev/sda7 2066 2327 2099724 8e Linux LVM
Partition table entries are not in disk order
[root@mysql ~]# yum install -y lvm2 #安装lvm
[root@mysql ~]# pvcreate /dev/sda7 #创建物理卷
Physical volume "/dev/sda7" successfully created
[root@mysql ~]# vgcreate myvg /dev/sda7 #创建卷组
Volume group "myvg" successfully created
[root@mysql ~]# lvcreate -L 1G -n mydata myvg #创建逻辑卷
Logical volume "mydata" created
[root@mysql ~]# lvs #查看逻辑卷
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
mydata myvg -wi-a---- 1.00g
[root@mysql ~]# mkfs.ext4 /dev/myvg/mydata #格式化
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
5.挂载设置
[root@mysql ~]# mkdir /mydata #创建挂载目录
[root@mysql ~]# vim /etc/fstab #修改挂载配置文件
#新增一行
/dev/myvg/mydata /mydata ext3 defaults 0 0
[root@mysql ~]# mount -a #挂载
[root@mysql ~]# mount #查看所有挂载
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /data type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/mapper/myvg-mydata on /mydata type ext4 (rw)
6.数据目录配置
[root@mysql ~]# cd /mydata/
[root@mysql mydata]# mkdir data
[root@mysql mydata]# chown -R mysql.mysql data
[root@mysql mydata]# ll
总用量 20
drwxr-xr-x 2 mysql mysql 4096 7月 18 13:16 data
drwx------ 2 root root 16384 7月 18 13:10 lost+found
7.编译安装
[root@mysql mysql-5.6.12]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL:STRING=bundled \
-DWITH_ZLIB:STRING=bundled \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
报错,
[root@mysql mysql-5.6.12]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
-- Running cmake version 2.8.11.2
-- MySQL 5.6.12
-- Packaging as: mysql-5.6.12-Linux-x86_64
-- HAVE_VISIBILITY_HIDDEN
CMake Error at cmake/ssl.cmake:164 (FILE):
file STRINGS file "/root/src/mysql-5.6.12/OPENSSL_INCLUDE_DIR-NOTFOUND/openssl/opensslv.h"
cannot be read.
Call Stack (most recent call first):
CMakeLists.txt:323 (MYSQL_CHECK_SSL)
-- OPENSSL_INCLUDE_DIR = OPENSSL_INCLUDE_DIR-NOTFOUND
-- OPENSSL_LIBRARY = OPENSSL_LIBRARY-NOTFOUND
-- CRYPTO_LIBRARY = CRYPTO_LIBRARY-NOTFOUND
-- OPENSSL_MAJOR_VERSION =
CMake Error at cmake/ssl.cmake:231 (MESSAGE):
Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
enable SSL support
Call Stack (most recent call first):
CMakeLists.txt:323 (MYSQL_CHECK_SSL)
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE): Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on RedHat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:325 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
从上面的错误中我们可以很清楚的看到缺少两个依赖包,我们用yum安装一下即可!
[root@mysql mysql-5.6.12]# yum install –y openssl openssl-devel ncurses ncurses-devel
下面我们再次编译一下,可能还会报同样的错误,不要着急,遇到错误,应该是很欣慰,现在知道了,以后就有把握自己处理,不必再百度,谷歌,满世界询问了,嘿嘿!
[root@mysql mysql-5.6.12]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
-- Running cmake version 2.8.11.2
-- MySQL 5.6.12
-- Packaging as: mysql-5.6.12-Linux-x86_64
-- HAVE_VISIBILITY_HIDDEN
CMake Error at cmake/ssl.cmake:164 (FILE):
file STRINGS file "/root/src/mysql-5.6.12/OPENSSL_INCLUDE_DIR-NOTFOUND/openssl/opensslv.h"
cannot be read.
Call Stack (most recent call first):
CMakeLists.txt:323 (MYSQL_CHECK_SSL)
-- OPENSSL_INCLUDE_DIR = OPENSSL_INCLUDE_DIR-NOTFOUND
-- OPENSSL_LIBRARY = OPENSSL_LIBRARY-NOTFOUND
-- CRYPTO_LIBRARY = CRYPTO_LIBRARY-NOTFOUND
-- OPENSSL_MAJOR_VERSION =
CMake Error at cmake/ssl.cmake:231 (MESSAGE):
Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
enable SSL support
Call Stack (most recent call first):
CMakeLists.txt:323 (MYSQL_CHECK_SSL)
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE): Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:325 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
这里是因为,我们在多次运行cmake有个文件我们需要删除,删除当前目录下CMakeCache.txt文件并重新编译,再次运行cmake命令就会正常!
[root@mysql mysql-5.6.12]# rm -rf CMakeCache.txt
[root@mysql mysql-5.6.12]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
这下我们就可以顺利编译!
[root@mysql mysql-5.6.12]# make && make install
接下来请看第2页精彩内容:
|
评论暂时关闭