Linux安装MySQL-chaojicode
前言如果读者是利用搜索引擎(百度、谷歌)搜索“Linux安装MySQL”找到这里,且又是一位萌新,那么请认真阅读前言及其他文字。如果是只老鸟了,请直接寻找你想要的内容,跳跃阅读。
这个标题表明了我们的目的,即指定操作系统(Linux)安装我们所需要的软件(MySQL),但是却有三个方面的错误。
[*]错误一:没有明确操作系统是Linux的哪个发行版。事实上,不同的Linux发行版是有所差异的,体现在所选用的软件版本不同,内核版本不同等等。因此,不同的发行版的安装可能会有差异。
[*]错误二:没有明确MySQL的版本。对于软件版本选择,这是一件很严肃的事情。如果和项目所需的MySQL版本有大版本的差异,则可能无法正常使用;如果选用了非GA版本,可能会出现不稳定。
[*]错误三:没有明确MySQL的安装方式。对于在Linux操作系统上,大体上有安装包安装,二进制安装,源码安装这三种安装方式。不同的安装方式所需要下载的安装包是不同的,同时安装的过程也是不同的。
正是存在这些不明确导致所查询到的多篇相关文章中会有大量的描述存在差异。
安装需求
[*]操作系统:CentOS 7.5.1804
[*]MySQL版本:MySQL 8.0.11
[*]安装方式:二进制安装,安装包的名称:mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 若实际安装所提供的环境和需求不同,则以下文字只适合用作参考。(当然,对于老鸟来说,在操作系统版本的差异很小,MySQL版本差异很小,都是二进制安装的前提下,安装的关键只是几个命令行而已)
安装过程
步骤1:关闭selinux
[*]检查selinux开启状态
shell> getenforce
Enforcing (Enforcing表示selinux处于开启状态)
[*]临时关闭selinux
shell> setenforce 0
[*]再次检查确认关闭
shell> getenforce
Permissive (Permissive表示selinux处于开启状态,但是放任一切行为,这被认作是事实上的关闭状态)
[*] 永久关闭selinux
shell> vim /etc/sysconfig/selinux
...
SELINUX=disabled
...
步骤1总结:selinux会导致很多软件安装异常,通常做法都是将其直接关闭。其关闭方法有临时关闭和永久关闭。所谓临时和永久的区别就是服务器重启后是否能保持其修改状态。
步骤2:关闭防火墙
[*]检查防火墙状态
shell> systemctl status firewalld
...
Active: active (running)
...
[*]临时关闭防火墙
shell> systemctl stop firewalld
[*]检查防火墙状态
shell> systemctl status firewalld
...
Active: inactive (dead)
...
[*]永久关闭防火墙
shell> systemctl disable firewalld
步骤2总结:关闭防火墙的意义是避免由于端口不通导致数据库无法被外部网络访问。但是正确使用防火墙是可以保证即开启防火墙又能保证数据库被正确访问的,在这里不进行展开。
步骤3:安装依赖
[*]安装libaio
shell> yum install -y libaio
步骤3总结:yum install命令是幂等操作,第一次使用时安装,其他时候使用时会自动检查是否安装并且当做更新软件处理,所以可以大胆使用。依赖缺失是软件安装失败的主要原因之一,因此该步骤不仅不能省略,还会因为具体的操作系统环境而有所增加操作。
步骤4:创建mysql用户和组
shell> groupadd mysql
shell> ~]# useradd -r -g mysql -s /bin/false mysql
步骤4总结:创建不可登录的mysql用户和mysql组,是为了安装后权限的管理。
步骤5:解压安装包
shell> mkdir /application
shell> cd /application
// 通过ftp工具将安装包放到该目录下
shell> tar zxf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
shell> ls
mysql-8.0.11-linux-glibc2.12-x86_64mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
步骤5总结:本质上就是讲安装包解压到/application目录下。
步骤6:建立软连接
shell> ln -s /application/mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql
步骤7:删除旧配置信息
shell>rm -rf /etc/my.cnf /etc/my.cnf.d/
步骤8:建立新配置信息
shell>vim /etc/my.cnf
port = 3306
socket= /tmp/mysql.sock
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/
socket= /tmp/mysql.sock
pid-file = db.pid
character-set-server = utf8mb4
**步骤8总结**:配置信息是用好MySQL的关键。
---
步骤9:初始化
shell> /usr/local/mysql/bin/mysqld --initialize --user=mysql
**步骤9总结**:初始化会读取默认配置文件(/etc/my.cnf),注意该过程的输出中有临时密码。
---
步骤10:安全增强
shell> /usr/local/mysql/bin/mysql_ssl_rsa_setup
---
步骤11:启动
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
---
步骤12:初次使用需修改密码
mysql>>
步骤13:关闭
shell> /usr/local/mysql/bin/mysqladmin -u root -p shutdown
页:
[1]