CentOS Linux 7离线安装MySQL 5.7.21(亲测)

两种MySQL安装包

在CentOS上安装MySQL有两种方式:

  • RPM包(推荐)
  • .tar.gz包

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》 MySQL常用的两种安装包

原生格式的一般就是RPM包,更为通用的就是.tar.gz包,这里我们采用绝大多数使用的RPM包安装方式。因为用yum安装方便,而且自带解决各种库依赖的问题,比纯粹的rpm命令简单多了,不知道为啥网上都是用rpm命令。

一、下载安装

1. 禁用SELinux服务

如果不禁用的话,后面启动MySQL服务会被阻止。另外,千万不要卸载CentOS自带的mariadb数据库,不要卸载!安装过程会自动替换mariadb,自己卸载会产生一些问题。

用root登陆shell:su
//下文所有输入的命令都在root用户下输入

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

gedit /etc/selinux/config

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

将其中的SELINUX=设置为disabled,保存退出,重启电脑使之生效。

2. 下载tar压缩包并解压出RPM安装包

Download MySQL Community Server地址:

Download MySQL Community Serverdev.mysql.com
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

解压下载的mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar包(右键解压),解压后你会看到有12个rpm包,这些包的作用如下表:

  • mysql-community-client(*客户端程序和工具)
  • mysql-community-server(*服务器程序和工具)
  • mysql-community-libs(*LIB库)
  • mysql-community-libs-compat(*LIB共享兼容库)
  • mysql-community-common(*公共文件)
  • mysql-community-devel(开发MySQL必备的头文件和库)
  • mysql-community-embedded(嵌入式库)
  • mysql-community-embedded-compat(嵌入式共享兼容库)
  • mysql-community-embedded-dev(嵌入式开发库)
  • mysql-community-minimal-debuginfo(最小安装调式信息库)
  • mysql-community-server-minimal(最小安装服务器程序和工具)
  • mysql-community-test(测试套件)

上述中5个带*号的为必安装项。因为mysql-community-server和mysql-community-server-minimal有重叠的部分,安装其中一个即可,所以这里删除mysql-community-server-minimal最小安装这个包,我们完全安装server程序。如果不这样的话后面安装会报冲突错误。

3. yum命令安装所需包

yum install mysql-community-{server,client,common,libs}-*

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

安装结束后会在Linux中的各种目录生成必要的文件,如下表:

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

至此,CentOS 7 安装MySQL 5.7.21结束,像什么添加mysql用户及mysql用户组等操作都是采用.tar.gz这种安装方式才需要设置的,而这里RPM安装包自动把这些都设置好了。

二、安装完毕后的设置

1. 设置Data数据位置

默认Data数据存储在/var/lib/mysql,由于我这里/var/目录存储空间小,所以我想指定/home/为我的数据存放点。如果你们觉得默认位置就可以了,这一步骤忽略。

先删除默认的路径:

rm -rf /var/lib/mysql

新建我要存放的目录:

mkdir /home/mysql

修改my.cnf配置文件

gedit /etc/my/cnf

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

  • 开头加入user=mysql
  • 将datadir这项修改为datadir=/home/mysql
  • 将socket这项修改为socket=/home/mysql/mysql.sock

如果作为客户端启动不了,添加两行:

[mysql]
socket=/home/mysql/mysql.sock

用mysqld执行mysql初始化数据目录:

mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql

这时你会看到设定的目录下生成了一些必要的文件

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

官方建议从MySQL 5.7.6开始,不要再用mysql_install_db命令初始化数据目录了。顺便把配置文件my.cnf也传入参数。

2. 启动MySQL服务

systemctl start mysqld

可以用service mysqld status查看是否启动成功:

《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》
《CentOS Linux 7离线安装MySQL 5.7.21(亲测)》

启动成功!

3. 给root添加密码

进入mysql,给root分配密码:

mysql -uroot --skip-password
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

这样我们就设置好密码了(123456,以后可以用下列命令登陆mysql了:

mysql -uroot -p123456

    原文作者:南理汉子
    原文地址: https://zhuanlan.zhihu.com/p/34719781
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞