Linux-安装MySQL

序言

本文的主要内容是在Linux上安装MySQL,以下内容是始于B站-MySQL数据库入门到精通整理而至。

一、概述

MySQL是一种关系型数据库管理,所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权新政,分为社区版和商业版,因为其容积小、速度快、总体拥有成本低,尤其是开放源码这一特性,通常中大型和小型网站的开发都选择MySQL作为网站数据库。

二、下载

官网:

步入官网然后点击DOWNLOADS

步入页面

这儿选择DownloadsArchives

步入页面,选择MySQLCommunityServer

按照你服务器的配置选择,我服务器是CentOS7所以OperatingSystem选择RedHatEnterpriseLinux/OracleLinux,OSVersion选择RedHatEnterpriseLinux7/OracleLinux7(x86,64-bit),选择第一个点击Download下载。

----------------------------------------------------

以下我也提供了MySQL的安装包供你们使用:

网址:百度云盘

提取码:vf2q

----------------------------------------------------

三、安装

连上Linux服务器(这儿的服务器我用的是云服务器),我先创建一个mysql的文件夹来储存安装包。

# 在 /soft 目录下创建一个空的文件夹 mysql
mkdir /soft/mysql
# 进入这个新建的文件夹下
cd /soft/mysql

之后上传之前下载好的Linux下MySQL的安装包,使用rz(有些终端工具是可以直接上传文件的,例如Final)

在该目录下再创建一个文件夹,而且将安装包解压到该文件夹中

# 在当前目录下(mysql)下创建一个 mysql-8.0.26 文件夹
mkdir mysql-8.0.26
# 解压安装包到该目录下
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.26

解压完成以后可以切换到mysql-8.0.26目录下查看解压后的文件

可以看见解压后的文件都是rpm文件,所以须要用到rpm包资源管理器相关的指令安装这种rpm的安装包

在安装执行rpm安装包之前先下载openssl-devel插件,由于mysql上面有些rpm的安装依赖于该插件。

yum install openssl-devel

安装完该插件以后,依次执行以下安装这种rpm包

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
rpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm

注意:安装rpm包时提示依赖测量失败,请详见文件末尾可能碰到的问题寻求解决方案。

在Linux中MySQL安装好了以后系统会手动的注册一个服务,服务名称称作mysqld,所以可以通过以下操作MySQL:

这儿先启动MySQL服务

rpm安装MySQL会手动生成一个随机密码,可在/var/log/mysqld.log这个文件中查找该密码

cat /var/log/mysqld.log

Atemporaypasswordisgeneratedforroot@localhost:****密码****,这儿我安装的MySQL生成的临时密码是:JAgc=S-:4fGC,帐号是root,有了帐号和密码以后就可以联接MySQL了。

# 连接 MySQL 
mysql -u root -p

到此Linux上安装MySQL基本结束。

四、卸载

卸载MySQL前须要先停止MySQL

命令:systemctlstopmysqld

停止MySQL然后查询MySQL的安装文件:rpm-qa|grep-imysql

卸载上述查询下来的所有的MySQL安装包

rpm -e mysql-community-client-plugins-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-server-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-common-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-client-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-compat-8.0.26-1.el7.x86_64 --nodeps

删掉MySQL的数据储存目录

rm -rf /var/lib/mysql/

删掉MySQL的配置文件备份

rm -rf /etc/my.cnf.rpmsave

五、常用设置

(1)更改root用户密码

假如你认为MySQL手动生成的密码太难记忆的话,可以联接MySQL以后进行更改密码

ALTER  USER  'root'@'localhost'  IDENTIFIED BY 'mike.8080';

这儿可能会提示Yourpassworddoesnotsatisfythecurrentpolicyrequirementslinux查看磁盘空间,意思是您的密码不符合当前规定的要求,你要么就把你的密码设置得复杂点,要么就去增加密码的校准规则。

在Linux上安装MySQL时会手动安装一个校准密码的插件,默认密码检测策略要求密码必须包含:大小写字母、数字和特殊符号,但是宽度不能多于8位。更改密码时新密码是否符合当前的策略,不满足则会提示ERROR

官网上能查到这个密码校准的规则,文档中搜索:validate_password

所以可以将这个限制密码位数设小一点linux如何离线安装mysql,复杂度类型调底一点

# 将密码复杂度校验调整简单类型
set global validate_password.policy = 0;
# 设置密码最少位数限制为 4 位
set global validate_password.length = 4;

就可以设置较为简单的密码了。

(2)创建用户与权限分配

linux如何离线安装mysql_ubuntu 离线安装 mysql_linux离线安装python

默认的root用户只能当前节点localhost访问如何安装linux,是难以远程访问的,我们还须要创建一个新的帐户,用于远程访问

句型格式:CREATEUSER[IDENTIFIED]BY[PASSWORD]

# mysql 8.0 以下
create user 'mike'@'%' IDENTIFIED BY 'mike8080';
# mysql 8.0
create user 'mike'@'%' IDENTIFIED WITH mysql_native_password BY 'mike8080';

PS:mysql8.0的默认密码验证不再是password。所以在创建用户时,createuser‘username’@‘%’identifiedby‘password’;顾客端是难以联接服务的linux如何离线安装mysql,所以在创建用户的时侯须要加上WITHmysql_native_password

创建完用户以后还须要给用户分配权限,这儿我将mike这个用户分配了所有的权限

grant all on *.* to 'mike'@'%';

假如你想权限分配得更细一点可参考博客:mysql给用户分配权限

六、可能碰到的问题

(1)启动MySQL时提示Failedtostartmysqld.service:Unitnotfound.

假如听到这个提示的话说明mysql安装失败了,我的建议是卸载重新安装。

(2)安装rpm包时提示依赖测量失败

解决办法:卸载mariadb-libs

rpm -e mariadb-libs --nodeps

再重新安装失败的那种rpm包

(3)远程联接时出错

这个错误提示出现的可能有好多,我就列出几个我能想到的吧

第一种情况我就不赘言了,若果你的MySQL是安装在虚拟机里面的话,简单粗鲁的方法是直接关掉防火墙

# 关闭防火墙
systemctl stop firewalld.service 
# 查看防火墙的状态
firewall-cmd --state 
# 禁止firewall开机启动
systemctl disable firewalld.service

或则为了安全,只开放特定的端标语,MySQL默认端口是3306

# 关闭防火墙
systemctl stop firewalld.service 
# 3306 端口对外开放
firewall-cmd --remove-port=3306/tcp --permanent 
# 重启防火墙
firewall-cmd --reload

然而,假如你MySQL并不是安装在虚拟机上的,而是放在云服务器里面,那你必须还得在云服务里面开放这几个端口

比方说我的MySQL是运行在某甲云里面的,我就得做如下设置:

找到我的服务器,点击更多,选择管理

步入下一个页面以后,选择防火墙

添加3306端口对外开放

测试联接

参考博客:

CentOS7系统安装MySQL指导指南

MySQL怎样创建用户

MySQL创建用户(CREATEUSER)

MySQL8.0配置mysql_native_password身分验证插件的密码

mysql给用户分配权限

本文原创地址://q13zd.cn/razmrmdjt.html编辑:刘遄,审核员:暂无