欢迎来到【一个正经的程序员】的博客园,笔者会经常分享一些大家在工作中经常用到的技术,欢迎大家围观!如果小伙伴们有需要讲解的技术,可以给笔者发消息或邮件留言!【louis.liu.oneself@hotmail.com】

CentOS7(Linux)源码安装MySQL5.7.30

介绍

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

选择自己合适的版本号,选择.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即可。

 

安装环境

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

yum install -y libaio

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

yum install -y cmake

安装依赖

yum install -y gcc-c++ bison-devel  ncurses-devel  bison perl perl-devel  perl perl-devel

 

安装

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

mkdir /usr/local/resource

 

解压安装包

tar -zxvf mysql-boost5.7.30.tar.gz

 

添加mysql组及用户

groupadd mysql
useradd -r -g mysql mysql

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

 

新建MySQL的安装目录

mkdir /usr/local/mysql

 

新建MySQL的数据存储目录

mkdir /usr/local/mysql/data

 

编译安装

进入解压的目录

cd /usr/local/resource/mysql-5.7.30

cmake编译

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

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

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

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

make

make安装

make install

 

设置权限

chown -R root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data

 

初始化MySQL

cd /usr/local/mysql/bin
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

 

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

 

复制mysql服务启动脚本

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

 

启动MySQL服务

service mysqld start

 

登录

cd /usr/local/mysql/bin
./mysql -u root -p

输入刚刚的密码

0pLszS33sD>w

登录成功

 

修改MySQL用户root的密码为root

mysql> set password for root@localhost = password('root');

 

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

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

 

刷新权限

mysql> FLUSH PRIVILEGES;

 

查看权限


mysql> select user,host from mysql.user;

 

 

 输入exit退出

 

远程测试连接成功

 

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

 

命令

启动

service mysqld start

重启

service mysqld restart

停止

service mysqld stop

 

推荐阅读:CentOS7源码安装JDK

推荐阅读:CentOS7源码安装Nginx

 

喜欢的话记得推荐收藏哦~~~

 

posted @ 2020-08-14 20:15  一个正经的程序员!  阅读(4652)  评论(3编辑  收藏  举报
……