MYSQL5.7.20源码安装

安装准备

1、适用于CENTOS7(具体适合那些版本我也不知道,大同小异吧)

2、安装包名:mysql-boost-5.7.20.tar.gz此包包含了boost;

安装必要的软件依赖:

yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel

将软件解压至/usr/src目录下

tar zxf mysql-boost-5.7.20.tar.gz -C /usr/src/

开始安装

​ 注释:我将软件安装到/var/mysql/下;如果你的MYSQL包不包含boost,你需要-DWITH_BOOST=./boost指定一下boost的路径

[root@Meo mysql-5.7.20]#cd /usr/src/mysql-5.7.20
[root@Meo mysql-5.7.20]#cmake .. -DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DWITH_PAM=ON \
-DCMAKE_INSTALL_PREFIX=/var/mysql/ \
-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EDITLINE=bundled \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DWITH_BOOST=./boost

# 表示成功生成编译环境
-- Configuring done
-- Generating done

[root@Meo mysql-5.7.20]#make -j 4 
# 表示编译成功
[100%] Building CXX object sql/CMakeFiles/udf_example.dir/udf_example.cc.o
Linking CXX shared module udf_example.so
[100%] Built target udf_example
[100%] Built target my_safe_process

[root@Meo mysql-5.7.20]#make install

初始化数据库

# 新建数据库文件夹及日志文件,并更改用户为mysql:mysql
mkdir /mysql_data
mkdir /var/mysql/log
chown -R mysql:mysql /mysql_data/
chown -R mysql:mysql /var/mysql/log

# 修改配置文件 /etc/my.cnf;将内容替换成为:
[mysqld]
port=3306
datadir=/mysql_data
log_error=/var/mysql/log/error.log
basedir=/var/mysql/

# 初始化数据库(mysql启动文件在安装目录下的bin目录下):
var/mysql/bin/mysqld  --initialize --user=mysql

# 查看数据文件是否生成:
[root@Meo mysql-5.7.20]# ll /mysql_data/
总用量 110620
-rw-r-----. 1 mysql mysql       56 10月  2 19:44 auto.cnf
-rw-r-----. 1 mysql mysql      419 10月  2 19:44 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 10月  2 19:44 ibdata1
-rw-r-----. 1 mysql mysql 50331648 10月  2 19:44 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 10月  2 19:44 ib_logfile1
drwxr-x---. 2 mysql mysql     4096 10月  2 19:44 mysql
drwxr-x---. 2 mysql mysql     4096 10月  2 19:44 performance_schema
drwxr-x---. 2 mysql mysql    12288 10月  2 19:44 sys

# 查看日志文件是否生成:
[root@Meo mysql-5.7.20]# ll /var/mysql/log/
总用量 4
-rw-r-----. 1 mysql mysql 802 10月  2 19:47 error.log

配置启动文件及环境变更

# 从模板文件中复制启动文件,并设置开机自启动
[root@Meo mysql-5.7.20]# cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@Meo mysql-5.7.20]# chmod +x /etc/init.d/mysqld
[root@Meo mysql-5.7.20]# chkconfig --add mysqld
[root@Meo mysql-5.7.20]# chkconfig mysqld on

# 修改启动文件为:
[root@Meo mysql-5.7.20]# vim /etc/init.d/mysqld
basedir=/var/mysql/     # mysql的安装目录
datadir=/mysql_data     #数据文件目录

#启动mysql
[root@Meo mysql-5.7.20]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!

# 配置mysql环境变量 
[root@Meo mysql-5.7.20]#vim /root/.bash_profile
PATH=$PATH:$HOME/bin # 找到这句,加入mysql可执行文件的路径
PATH=$PATH:$HOME/bin:/var/mysql/bin

# 修改mysql密码
#MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码:
[root@Meo mysql-5.7.20]# cat /var/mysql/log/error.log |grep 'A temporary password'
2017-11-13T06:28:23.096812Z 1 [Note] A temporary password is generated for root@localhost: wa&sk371_,US

# 修改
mysql> alter user 'root'@'localhost' identified by 'new_password';
Query OK, 0 rows affected (0.00 sec)

你可能感兴趣的:(MYSQL5.7.20源码安装)