vlambda博客
学习文章列表

速看!centos7下源码安装mysql5.7

前面我们已经成功通过yum源安装了mysql5.7的环境。但是实际的项目中,往往是指定了mysql的某个版本进行安装。此时通过源码编译安装无疑是最好的选择,而且通过源码安装,也可以更方便我们自定义安装环境。因此今天我们通过源码安装mysql5.7的社区版本,其他版本的安装简直就是大同小异。

速看!centos7下源码安装mysql5.7
浩道linux
从小白起步,一起走进linux,python的世界,带你学习linux,python,为你工作带来涨薪筹码。
79篇原创内容
Official Account

1、mysql源码下载

https://www.mysql.com/

速看!centos7下源码安装mysql5.7

2)选择Archievs后即可选择不同的版本下载


速看!centos7下源码安装mysql5.7



3)如我这里选择mysql5.7.24版本,下载其源代码包

速看!centos7下源码安装mysql5.7

选择如下源码包,下载即可。

速看!centos7下源码安装mysql5.7

2、boost源码下载

安装mysql5.7及以上版本,要依赖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 --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

我这里下载好后解压至/ruanjianfile/boost/目录下。


3、安装编译环境所需要的编译工具

yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaioyum install libaio libaio-devel -yyum install perl-Data-Dumper -yyum install net-tools -y

或直接执行

yum -y install gcc gcc-c++ glibc automake autoconf libtool make openssl openssl-devel ncurses ncurses-devel

4、检查下载与mysql相关的软件包或版本

1)首先检查你所用的Linux下有没有安装过mysql,有没有卸载干净,卸载CentOS7默认携带的。

rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb

通过yum remove 相关包名进行卸载干净。

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64#注:如上命令删除不成功,有别的软件依赖无法删除时,如下操作:yum remove mariadb-libs-5.5.44-2.el7.centos.x86_64rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

2)并删除所有的相关文件:

rm -rf /etc/my.cnf


5、创建安装mysql相关的文件目录

mkdir -p /database/mysql/datamkdir -p /database/mysql/tmpmkdir -p /database/mysql/binlogmkdir -p /database/mysql/logs

6、创建mysql组和mysql用户

groupadd mysqluseradd mysql -s /sbin/nologin -M -g mysql
[root@huanghao2 mysql]# id mysql uid=1000(mysql) gid=1000(mysql) groups=1000(mysql)

注意:

-s /sbin/nologin 用户不能登录系统

-M 不创建用户的home家目录

-g 指定用户登录组的gid或组名

7、加压mysql源码

要把mysql源码上传到系统,我这里放在/data目录下。

cd /datatar -xzf mysql-5.7.24.tar.gz

8、cmake编译mysql

1)解压后,进入加压目录进行编译,如

cd /data/mysql-5.7.24
cmake \-DCMAKE_INSTALL_PREFIX=/database/mysql \-DMYSQL_DATADIR=/database/mysql/data \-DMYSQL_UNIX_ADDR=/database/mysql/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all \-DENABLED_LOCAL_INFILE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_EXAMPLE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_ZLIB=bundled \-DWITH_EMBEDDED_SERVER=1 \-DSYSCONFDIR=/etc \-DMYSQL_TCP_PORT=3306 \-DWITH_SSL=yes \-DWITH_DEBUG=0 \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/ruanjianfile/boost

2)待编译没有问题后,即可安装。如下表示编译成功。

速看!centos7下源码安装mysql5.7


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

rm -rf CMakeCache.txt

3)安装

make install

速看!centos7下源码安装mysql5.7

等待安装完成,时间可能比较久,出现如下图表示安装成功。

速看!centos7下源码安装mysql5.7


9、配置mysql系统环境变量

1)修改/etc/profile

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

2)使环境变量生效

source /etc/profile


10、初始化mysql数据库

1)更改mysql安装目录的属主和属组

chown -R mysql:mysql /database/mysql/

2)修改mysql的配置文件

修改/etc/my.cnf文件,和5.6之前的版本不一样,5.7版本support-file目录下没有.cnf文件,因此需要自己手动编辑。

vi /etc/my.cnf

创建编辑新增内容如下:

[client]port = 3306socket = /database/mysql/tmp/mysql.sockdefault-character-set = utf8[mysqld]port = 3306user = mysqlbasedir = /database/mysqldatadir = /database/mysql/datapid-file = /database/mysql/mysqld.pidsocket = /database/mysql/tmp/mysql.socktmpdir = /database/mysql/tmpcharacter_set_server = utf8server-id = 1max_connections = 100max_connect_errors = 10log-bin = /database/mysql/binlog/mysql-binlog-error = /database/mysql/logs/mysql_5_7_24.err

3)修改配置文件的属主和属组

chown mysql:mysql /etc/my.cnf

4)初始化数据库,进入到安装目录

cd /database/mysql/./bin/mysqld --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data


11、mysql实例开启ssl连接,进入到安装目录

cd /database/mysql/./bin/mysql_ssl_rsa_setup --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data


12、修改server-key.pem文件权限,进入到/database/mysql/data/目录

cd /database/mysql/data/chmod +r server-key.pem


13、启动mysql数据库服务

1)拷贝启动脚本到/etc/init.d/目录下,并改名mysqld

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

2)重新加载系统服务,将mysql数据库加入到开机自启动

systemctl daemon-reloadsystemctl enable mysqld.servicechkconfig mysqld on

3)启动mysql服务

systemctl start mysqld

4)查看mysql服务状态

systemctl status mysqld

速看!centos7下源码安装mysql5.7


14、对数据库配置安全认证

待数据库正常安装启动后,便可以通过mysql进入到数据库终端。

1)通过数据库语句进行相关操作,包括给数据库用户设置密码,远程主机认证等。

mysql -uroot -p#不用密码,回车即可进入mysql命令终端
select user,host from mysql.user;set password for 'mysql.session'@'localhost' = password('123456');set password for 'mysql.sys'@'localhost' = password('123456');set password for 'root'@'localhost' = password('123456');flush privileges;

速看!centos7下源码安装mysql5.7

2)对root用户进行授权远程登录

grant all privileges on *.* to root@'%' identified by '123456' with grant option;

3)此时退出mysql命令终端,重新登录终端,就需要密码认证了。

mysql命令终端下通过命令查看就是我们安装的版本。

select version();


到此,mysql5.7.24版本通过源代码编译安装完成。实际工作中,针对各种环境的部署,都有可能让我们自己去安装部署,因此掌握如何部署,还是显得很重要的。如果安装过程中,你们遇到报错,安装不成功,可留言大家一起讨论。


往期内容回顾: