1.

源码安装mysql(下面是按照5.7的安装方式,实际安装的是5.6):

#删除mysql相关的依赖包
[root@xuegod13 ~]# yum -y remove mysql mariadb-*
###输出内容省略
#安装相关依赖包
[root@xuegod13 ~]# yum -y install cmake make gcc gcc-c++ bison ncurses ncurses-devel
###输出内容省略
[root@xuegod13 ~]# groupadd mysql
[root@xuegod13 ~]# useradd -M -s /sbin/nologin -r -g mysql mysql
[root@xuegod13 ~]# cd /opt/
[root@xuegod13 opt]# ls
apr-1.5.2.tar.gz httpd-2.4.16.tar.bz2 pcre-8.37.tar.bz2
apr-util-1.5.4.tar.bz2 mysql-5.6.26.tar.gz php-5.6.13.tar.bz2
[root@xuegod13 opt]# tar xf mysql-5.6.26.tar.gz -C /usr/local/src/
[root@xuegod13 opt]# cd /usr/local/src/mysql-5.6.26/
[root@xuegod13 mysql-5.6.26]# ls
BUILD dbug libmysqld regex unittest
BUILD-CMAKE Docs libservices scripts VERSION
client Doxyfile-perfschema man sql vio
cmake extra mysql-test sql-bench win
CMakeLists.txt include mysys sql-common zlib
cmd-line-utils INSTALL-SOURCE mysys_ssl storage
config.h.cmake INSTALL-WIN-SOURCE packaging strings
configure.cmake libevent plugin support-files
COPYING libmysql README tests
[root@xuegod13 mysql-5.6.26]# mkdir -p /var/lib/mysql/data
[root@xuegod13 mysql-5.6.26]# chown -R mysql:mysql /var/lib/mysql/
[root@xuegod13 mysql-5.6.26]# cmake -DCMAKE_INSTALL_PREFIX=/var/lib/mysql \ #注:源码安装mysql没有./configure 要用cmake
> -DMYSQL_DATADIR=/var/lib/mysql/data/ \
> -DSYSCONFDIR=/etc \
> -DWITH_MYISAM_STORAGE_ENGINE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_MEMORY_STORAGE_ENGINE=1 \
> -DWITH_READLINE=1 \
> -DMYSQL_UNIX_ADDR=/var/lib/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 \
> -DDOWNLOAD_BOOST=1 \
> -DWITH_BOOST=/usr/local/src/boost_1_59_0/
#输出省略
[root@xuegod13 mysql-5.6.26]# make -j 4 && make install
#输出过程省略
[root@xuegod13 ~]# vim /etc/my.cnf #创建mysql配置文件
[mysqld]
sedir=/var/lib/mysql
datadir=/var/lib/mysql/data
port=3306
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld.pid
[mysql]
socket=/var/lib/mysql/mysql.sock
[client]
socket=/var/lib/mysql/mysql.sock
#把mysql命令添加到PATH里面去
[root@xuegod13 ~]# vim /etc/profile.d/mysql.sh
export PATH=/var/lib/mysql/bin:$PATH
#拷贝到启动目录下面去
[root@xuegod13 ~]# cp /var/lib/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@xuegod13 ~]# chmod +x /etc/profile.d/mysql.sh #添加执行权限
#为了安全,把mysql目录下文件目录属主属组都改成mysql
[root@xuegod13 ~]# chown mysql:mysql /var/lib/mysql/ -R
#安装完mysql,还要进行初始化:
[root@xuegod13 ~]# /var/lib/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
#启动mysql服务
[root@xuegod13 ~]# /etc/init.d/mysqld start
#初始化数据库
[root@xuegod13 ~]# mysql_secure_installation