前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7(Linux)源码安装MySQL5.7.30

CentOS7(Linux)源码安装MySQL5.7.30

作者头像
一个正经的程序员
发布2022-04-11 08:47:31
6630
发布2022-04-11 08:47:31
举报
文章被收录于专栏:一个正经的程序员

简介

软件应用最重要的就是数据库了,可是还有小伙伴不会在Linux上安装MySQL数据库,今天就来讲讲如何在CentOS7环境使用源码进行安装MySQL5.7.30。

MySQL官网下载链接:https://downloads.mysql.com/archives/community/

选择自己合适的版本号,选择.tar.gz文件下载。

下载

下面使用mysql-boost5.7.30.tar.gz进行安装,选择源码Source Code,选择带Boost的版本,点击Download开始下载。

注:Mysql5.7版本更新后有很多变化,连编译安装都有变化,而MySQL5.7的安装必须要boost库,不过MySQL的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,其实都是一样的,如果选择不带boost库源码的需要在安装MySQL之前单独安装boost,并在编译时指定boost的安装目录,选择带boost的版本,则不需要提前安装boost,只需要在cmake编译时带上参数-DWITH_BOOST=boost即可。

安装环境

1.安装 libaio, libaio 包的作用是为了支持同步I/O,对于数据库之类的系统特别重要。

代码语言:javascript
复制
yum install -y libaio

2.安装 cmake,CMake是一个跨平台的安装(编译)工具。

代码语言:javascript
复制
yum install -y cmake

3.安装依赖

代码语言:javascript
复制
yum install -y gcc-c++ bison-devel  ncurses-devel  bison perl perl-devel  perl perl-devel

安装

1.创建一个资源目录把 MySQL 安装包 上传到这个目录下

代码语言:javascript
复制
mkdir /usr/local/resource

2.解压安装包

代码语言:javascript
复制
tar -zxvf mysql-boost5.7.30.tar.gz

3.添加mysql组及用户

代码语言:javascript
复制
groupadd mysql
useradd -r -g mysql mysql

若提示已存在说明已经添加好了

4.新建MySQL的安装目录

代码语言:javascript
复制
mkdir /usr/local/mysql

5.新建MySQL的数据存储目录

代码语言:javascript
复制
mkdir /usr/local/mysql/data

6.进入解压的目录

代码语言:javascript
复制
cd /usr/local/resource/mysql-5.7.30

7.cmake编译

代码语言:javascript
复制
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BOOST=boost -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

这里再写一份换行版方便查看参数,执行时选择上面这行命令

代码语言:javascript
复制
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_BOOST=boost
-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

8.make编译,此处时间比较长,约半小时,耐心等待

代码语言:javascript
复制
make

9.make安装

代码语言:javascript
复制
make install

10.设置权限

代码语言:javascript
复制
chown -R root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data

11.初始化MySQL

代码语言:javascript
复制
cd /usr/local/mysql/bin
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

初始化完成,并给root用户生成了临时密码,这里要把密码记录下来,稍后需要

12.复制mysql服务启动脚本

代码语言:javascript
复制
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

13.启动MySQL服务

代码语言:javascript
复制
service mysqld start

14.登录

代码语言:javascript
复制
cd /usr/local/mysql/bin
./mysql -u root -p

输入刚刚的密码

代码语言:javascript
复制
0pLszS33sD>w

登录成功

15.修改MySQL用户root的密码为root

代码语言:javascript
复制
mysql> set password for root@localhost = password('root');

16.赋予权限并设置可以远程访问

代码语言:javascript
复制
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

17.刷新权限

代码语言:javascript
复制
mysql> FLUSH PRIVILEGES;

18.查看权限

代码语言:javascript
复制
mysql> select user,host from mysql.user;

输入exit退出

19.远程测试连接成功

至此,MySQL5.7.30已经安装成功!

命令

1.启动

代码语言:javascript
复制
service mysqld start

2.重启

代码语言:javascript
复制
service mysqld restart

3.停止

代码语言:javascript
复制
service mysqld stop
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个正经的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档