CetOS7.4手工编译安装mysql-5.7.17(内附源码包)

简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的关系数据库管理系统应用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。

实验环境

系统环境:centos7.4
服务器IP地址:192.168.100.71
yum挂载目录:/mnt/sr0
相关源码包下载地址:百度云下载   密码:r26y

建步骤

1、添加新硬盘作为解压目录

[root@redhat7_5 ~]# fdisk /dev/sdb
CetOS7.4手工编译安装mysql-5.7.17(内附源码包)

[root@redhat7_5 ~]# mkfs.ext4 /dev/sdb1 #格式化分区,写入系统文件

[root@redhat7_5 ~]# mount /dev/sdb1 /opt/ #挂载至解压目录下
[root@redhat7_5 ~]# df -h
CetOS7.4手工编译安装mysql-5.7.17(内附源码包)

2、安装相关依赖包

[root@redhat7_5 ~]# mount /dev/sr0 /mnt/sr0/ #挂在光盘
[root@redhat7_1 ~]# yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

3、创建进程用户

[root@redhat7_1 ~]# useradd -s /sbin/nologin mysql

4、解压相应源码包

[root@redhat7_1 ~]# tar zxvf mysql-5.7.17.tar.gz -C /opt/
[root@redhat7_1 ~]# tar zxvf boost_1_59_0.tar.gz -C /usr/local/

[root@redhat7_1 ~]# cd /usr/local/
[root@redhat7_1 local]# mv boost_1_59_0 boost

5、安装mysql

[root@redhat7_1 ~]# cd /opt/mysql-5.7.17/
[root@redhat7_1 ~]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

[root@redhat7_1 mysql-5.7.17]# make && make install #时间稍慢,要等待……

6、修改mysql权限

[root@redhat7_1 ~]# chown -R mysql:mysql /usr/local/mysql/

7、编辑主配置文件

[root@redhat7_1 ~]# vim /etc/my.cnf

建议:可以将配置文件的内容删除,直接拷贝以下内容

[client]

port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]

port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]

user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

8、相关优化

[root@redhat7_1 ~]# chown mysql:mysql /etc/my.cnf
[root@redhat7_1 ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@redhat7_1 ~]# echo 'export PATH' >> /etc/profile
[root@redhat7_1 ~]# source /etc/profile

9、初始化服务

[root@redhat7_1 ~]# cd /usr/local/mysql/
[root@redhat7_1 mysql]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

10、启动服务

[root@redhat7_1 ~]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

[root@redhat7_1 ~]# systemctl daemon-reload
[root@redhat7_1 ~]# systemctl start mysqld
[root@redhat7_1 ~]# systemctl enable mysqld
[root@redhat7_1 ~]# netstat -anpt | grep 3306

11、登录mysql

[root@redhat7_1 ~]# mysqladmin -u root -p password '123'
[root@redhat7_1 ~]# mysql -u root -p123
CetOS7.4手工编译安装mysql-5.7.17(内附源码包)

猜你喜欢

转载自blog.51cto.com/11905606/2166234