安装要求:

目录安装在/usr/local/mysql

数据目录在/data/mysql/data


源码编译安装

环境准备:

# yum -y install make cmake gcc-c++ bison-devel ncurses-devel readline-devel
# yum install openssl  openssl-devel  zlib-devel
# mv /etc/my.cnf{,_bak}

下载,解压:

如果系统有安装mysql,最好先处理

 

配置编译安装:

# pwd
/usr/local/src/mysql-5.6.15
# ccmake .   或 # cmake . -LH//查看编译可选项
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15 \
-DMYSQL_DATADIR=/data/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=yes -DWIHT_ZLIB=yes


wKiom1cP0HSx_JeyAAAlJ4sFGjg687.png

以上是编译成功的提示,但有几个指定的功能未被使用,先安装吧,要花费一些时间:

# make && make install

如果出错,要清除旧的编译配置,再编译:

# rm -f CMakeCache.txt


 

初始化mysql

# useradd -r -M -s /sbin/nologin mysql        //创建mysq系统用户
# cd /usr/local
# ln -sv mysql-5.6.15 mysql
# mv  mysql/my.cnf{,_bak}
# cd mysql
# chown -R mysql:mysql .
# mkdir -p /data/mysql/data
# chown -R mysql:mysql /data/mysql/data
#./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql      //将在/usr/local/mysql/目录下生成my.cnf配置文件
 
# ln -sv /usr/local/mysql/bin/mysql /usr/bin/mysql


也可以使用/usr/local/mysql/bin/mysql_secure_installation脚本做一些安全配置:root密码,远程登陆,匿名用户删除,test库删除

# /usr/local/mysql/bin/mysqladmin -u root password 'xxx'    //为root用户设置密码,默认没有密码
> DROP  USER  ‘’@localhost;//删除匿名用户


 

控制脚本及开机自启动处理、启动服务:

# pwd
/usr/local/mysql
# cp support-files/mysql.server  /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
# chkconfig --add mysql
# service mysql start启动成功


注:1. mysql服务使用的配置文件查找顺序:/etc/my.cnf----->/etc/mysql/my.cnf------>安装目录下的my.cnf------->mysql用户家目录下my.cnf

2. 服务使用service控制启动,实质上是执行bin/mysqld_safe命令

 

 

其他文件处理(非必需):

//配置环境变量
# echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
# source /etc/profile
//库文件添加
# echo "/usr/local/mysql/lib/" > /etc/ld.so.conf.d/mysql.conf
# ldconfig
//头文件添加
# ln -sv /usr/local/mysql/include /usr/include/mysql
//man帮助文件添加
# echo "MANDATORY_MANPATH /usr/local/mysql/man" >> /etc/man_db.conf


 

查看已编译选项:

编译安装后会在安装目录下生成的bin/mysqlbug,查看该文件配置字段即可

# cat /usr/local/mysql/bin/mysqlbug |grep CONFIGURE_LINE

# mysql_config     命令直接查看,主要是库文件查看

 

 

常用编译配置选项说明:

#cmke .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15//软件安装位置

 -DMYSQL_DATADIR=/data/mysql/data//数据文件位置

 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock//Unix socket文件位置

 -DSYSCONFDIR=/etc//配置文件my.cnf位置

 -DMYSQL_TCP_PORT=3306//服务端口,默认的也是3306

 -DWITH_MYISAM_STORAGE_ENGINE=1//启用myisam存储引擎

 -DWITH_INNOBASE_STORAGE_ENGINE=1//启用innodb存储引擎

 -DWITH_MEMORY_STORAGE_ENGINE=1//启用memory存储引擎

 -DWITH_ARCHIVE_STORAGE_ENGINE=1//启用archive存储引擎

 -DWITH_BLACKHOLE_STORAGE_ENGINE=1//启用blackhole(黑洞)存储引擎

 -DWITH_PARTITION_STORAGE_ENGINE=1//启用支持数据库分区

 -DENABLED_LOCAL_INFILE=1//允许从本地导入数据

 -DWITH_READLINE=1//批量导入数据

 -DEXTRA_CHARSETS=all//安装所有字符集

 -DDEFAULT_CHARSET=utf8//默认字符

 -DDEFAULT_COLLATION=utf8_general_ci//校验字符

 -DWITH_SSL=yes

 -DWIHT_ZLIB=yes

 

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1//不启用

-DWITH_LIBWRAP=0//不启用基于wrap的访问控制

-DENABLE_PROFILING=1//启用性能分析功能

-DWITH_DEBUG=0//不启用DEBUG功能



cmakeconfigure编译配置的对比


configurecmake
原理

执行configure脚本,生成Makefile文件

根据CMakeLists.txt生成CMakeCache.txt文件

执行方式

# ./configure

# cmake .

配置选项查看

# ./configure  --help

#ccmake . 或 # cmake . -LH (先检查后输出)

常用选项对比

--prefix=/usr/local/xxxx

-DCMAKE_INSTALL_PREFIX=/usr/local/xxxx


--with选项

-DWIHT_xxxxx=1-DWIHTOUT_xxxx=1


--enable选项

-DENABLE_xxxx=1

二次配置处理

# make clean 

# rm -f CMakeCace.txt

其他

使用#ccmake .  GUI界面配置选项和检查






通用二进制包安装

 

环境准备:

# mkdir -p /data/mysql/data
# useradd -r -M -s /sbin/nologin -d /data/mysql mysql
# chown -R mysql:mysql /data/mysql/data
# mv /etc/my.cnf{,_bak}

 

二进制tar包处理

# tar xf /usr/local/src/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv mysql-5.6.21-linux-glibc2.5-x86_64 mysql
# cd mysql
# chown -R mysql:mysql .

 

数据库初始化:

# pwd
/usr/local/mysql
# mv my.cnf{,_bak}
# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql

其他操作和编译安装一样,通用二进制包就是源码编译好的包,只要修改成适合于系统环境的就可以了

修改配置文件,加上基础配置:

# vim /usr/local/mysql/my.cnf
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/mysql/data
    port=3306
    server_id=1
    socket=/tmp/mysql.sock


 

复制service控制文件,启动mysql时报错:

wKioL1cP00jz7K_eAAAYFhQwhEk467.png

造成以上原因可能有:

1.文件权限不足

2.机器上之前安装过mysql,找出mysql-bin.index文件,删除即可

3.配置文件问题,my.cnf没有指定datadir或是启用了skip-deferated字段,配置不正确也会出现这种问题


RPM包安装

先检查系统是否已安装,有则卸载

#yum  list  installed |grep mysql
#rpm  -qa | grep mysql
#rpm  -e  --nodeps  mysql

系统提供的rpm包安装(自动解决依赖关系)

# yum install mysql mysql-server mysql-command mysql-devel

官方提供的rpm

# rpm -ivh mysql.5.6.12.rpm