Centos 7.4 源码编译安装 MYSQL 5.7

本贴最后更新于 2103 天前,其中的信息可能已经物是人非

环境

Centos 7.4
MYSQL 5.7.21 (64 位)

开始安装

首先先检查系统中是否集成了 mariadb

Centos 默认是集成了 mariadb 而非 MYSQL
通过命令检查是否存在 mariadb

rpm -qa | grep mariadb

然后进行卸载

rpm -e mariadb-libs-5.5.44-1.el7_1.x86_64

如果会提示有依赖于这的安装包,那么就强制卸载,不查检依赖

rpm -e  --nodeps mariadb-libs-5.5.44-1.el7_1.x86_64

官网下载对应版本的编译包

cd /usr/local
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

解压编译包

tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 

重命名文件夹

mv mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz mysql

添加用户组和用户

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

备注: -s /bin/false 参数指定 mysql 用户仅拥有所有权,而没有登录权限

修改目录拥有者为 MYSQL

cd /usr/local/mysql
chown -R mysql:mysql ./

安装 MYSQL

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

可能会出现以下错误

./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

那么只需要安装一下 libaio 依赖就好了

yum install libaio

安装信息将显示随机生成的登录密码 tr#w/aeo6mI

2018-02-28T05:37:52.418066Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-02-28T05:37:54.995328Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-02-28T05:37:55.233794Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-02-28T05:37:55.840973Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 87078d94-1c49-11e8-8a9e-00163e01e0c3.
2018-02-28T05:37:55.844374Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-02-28T05:37:55.845159Z 1 [Note] A temporary password is generated for root@localhost: )tr#w/aeo6mI

到这 MYSQL 就算是安装完成了。接下来配置一下 MYSQL 启动相关的内容。

从 5.7.18 版本开始不在二进制包中提供 my-default.cnf 文件
也就是说安装完成后是没有 my.cnfmy-default.cnf 文件的,需要自行去网上找放在 /etc/my.cnf 路径

MYSQL 运行配置

启动 MYSQL

./support-files/mysql.server start

将 MYSQL 放入系统进程中

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

启动 MYSQL 服务

service mysqld restart

登陆 MYSQL

mysql -u root -p

输入随机密码进行登陆

可能会提示 mysql 命令不存在,MySQL 存放路径为 /usr/local/mysql/bin

/usr/local/mysql/bin 添加到 PATH 环境变量中

vi ~/.bash_profile

在 export PATH 之前加入 PATH=PATH:HOME/bin:/usr/local/mysql/bin

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
export PATH

保存后使用 source 命令进行重新生效

source ~/.bash_profile

修改 ROOT 用户登陆密码

alter user 'root'@'localhost' identified by 'mysqlpassword';

设置允许远程连接数据库

update user set user.Host='%' where user.User='root';
flush privileges;

其他

CentOS 手动安装 MySQL5.6

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    690 引用 • 535 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    944 引用 • 943 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...