mysql 5.7 源码编译安装_Mysql5.7.20源码编译安装

一、下载源码包

1.1 下载mysql源码包

MySQL源码,网址为:https://dev.mysql.com/downloads/mysql/ :

1.2 下载boost

下载网址为:http://www.boost.org/users/download/

这个版本的MySQL要求boost的版本是1.59,链接为:

http://www.boost.org/users/history/version_1_59_0.html

下面给出boost 1.59.0的链接,在/usr/local/src目录下直接用wget进行下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz

二、编译安装

2.1 安装必要的软件依赖:

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

2.2 解压MySQL源文件:

tar -zxvf mysql-5.7.20.tar.gz

将boost的压缩包移动至解压后的源文件目录内:

mv boost_1_65_1.tar.gz mysql-5.7.20

2.3 进入MySQL源文件目录,新建configure做为编译目录,并进入该目录:

cd mysql-5.7.20

mkdirconfigure

cd configure

2.4 使用cmake进行生成编译环境:

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=/application/mysql-5.7.20\-DMYSQL_DATADIR=/application/mysql-5.7.20/data \-DMYSQL_UNIX_ADDR=/application/mysql-5.7.20/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EDITLINE=bundled \-DFEATURE_SET=community \-DCOMPILATION_COMMENT="MySQL Server (GPL)"\-DWITH_DEBUG=OFF \-DWITH_BOOST=..

如果编译出现错误,请先删除CMakeCache.txt后,再重新编译:

rm -rf CMakeCache.txt

如果出现下面的提示就表示成功生成了编译环境:

-- Configuring done

-- Generating done

2.5 使用make进行编译:

make

编译完成后,会出现如下信息:

[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

2.6 安装MySQL:

make install#做软链接ln -s /application/mysql-5.7.20/ /application/mysql

三、初始化数据库

3.1 安装MySQL:

useradd -s /sbin/nologin mysql

3.2 新建数据库文件夹及日志文件夹,并更改用户为mysql:

mkdir /application/mysql-5.7.20/datamkdir /application/mysql-5.7.20/tmpmkdir /var/mysql/logchown -R mysql:mysql /application/mysql-5.7.20/datachown -R mysql:mysql /application/mysql-5.7.20/tmpchown -R mysql:mysql /var/mysql/log

3.3 修改配置文件

vim /etc/my.cnf

将[mysqld]项下的内容替换为:

[root@localhost mysql-5.7.20]# vim /etc/my.cnf

[mysqld]

port=3306datadir=/application/mysql-5.7.20/data

socket=/application/mysql-5.7.20/mysql/tmp/mysql.sock

log_error=/var/mysql/log/error.log

basedir=/application/mysql-5.7.20

3.4 初始化数据库:

/application/mysql/bin/mysqld --initialize --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

查看数据文件是否生成:

[root@localhost mysql]# ll data/总用量110628

-rw-r-----. 1 mysql mysql 56 8月 14 16:09auto.cnf-rw-r-----. 1 mysql mysql 419 8月 14 16:09ib_buffer_pool-rw-r-----. 1 mysql mysql 12582912 8月 14 16:09ibdata1-rw-r-----. 1 mysql mysql 50331648 8月 14 16:09ib_logfile0-rw-r-----. 1 mysql mysql 50331648 8月 14 16:09ib_logfile1

drwxr-x---. 2 mysql mysql 4096 8月 14 16:09mysql

drwxr-x---. 2 mysql mysql 8192 8月 14 16:09performance_schema

drwxr-x---. 2 mysql mysql 8192 8月 14 16:09 sys

查看日志文件是否生成:

[root@localhost mysql]# ll /var/mysql/log/总用量4

-rw-r-----. 1 mysql mysql 802 8月 14 16:09 error.log

四、配置启动文件及环境变更并启动

4.1 配置启动文件

1. 从模板文件中复制启动文件:

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

2. 修改启动文件:

vim /etc/init.d/mysqld

找到如下二行:

basedir=datadir=修改为:

basedir=/application/mysql/datadir=/application/mysql/data

3. 启动mysql:

chown -R mysql:mysql /application/mysql-5.7.20/[root@localhost mysql]#/etc/init.d/mysqld start

Starting MySQL. SUCCESS!

配置MySQL环境变量:

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile

source/etc/profile

4.2 修改root的初始密码

1. 查看root的初始密码

MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码:

[root@localhost mysql]# cat /var/mysql/log/error.log |grep 'A temporary password'

2018-08-14T08:09:48.262139Z 1 [Note] A temporary password is generated for root@localhost: 11v11-2,g.=U

最后一行冒号后面的部分11v11-2,g.=U就是初始密码。

2. 登录MySQL并修改初始密码:

使用初始密码登录MySQL:

[root@localhost ~]# mysql -uroot -p

Enter password:

登录后立即修改root密码:

mysql> alter user 'root'@'localhost' identified by 'your_password';

Query OK,0 rows affected (0.00 sec)

其中your_password是你设置的新密码。新密码应是强密码,要求密码包含大小写字母、数字及标点符号,长度应该在6位以上。

3.给予root所有权限

mysql> grant all privileges on *.* to root@"%" identified by 'aaaaaaa'with grant option;

Query OK,0 rows affected, 1 warning (0.00sec)

mysql>flush privileges;

Query OK,0 rows affected (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值