当前位置: 首页 > news >正文

Linux安装Mysql详细教程(两种安装方法)

Linux之Mysql安装配置

  • 第一种:Linux离线安装Mysql(提前手动下载好tar.gz包)
  • 第二种:通过yum安装配置Mysql(服务器有网络)

第一种:tar.gz包安装

1、 查看是否已经安装 Mysql

rpm -qa | grep mysql

如果没有什么返回信息,说明没有安装 Mysql,那么直接进入2
在这里插入图片描述

2、下载官方 Mysql 包

官方下载地址
选择对应的包 如下mysql5.7(最常用)
在这里插入图片描述

3. 上传到服务器后解压(解压后可删除安装包,节省空间)

一般放在在/usr/local目录下

# 解压文件至/usr/local/目录
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
# 重命名为 mysql
mv /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql

解压重命名后目录一般是这样的
在这里插入图片描述

4、创建用户组

至于为什么要创建用户和组可以看看这篇 Linux下安装Mysql为什么要创建对应的用户和用户组

groupadd mysql     #创建用户组
# -r 参数表示 mysql 用户是系统用户,不可用于登录系统,创建用户 mysql 并将其添加到用户组 mysql 中
useradd -r -g mysql mysql

分配用户组

chown -R mysql /usr/local/mysql/ # 将文件的所有属性改为 mysql 用户
chgrp -R mysql /usr/local/mysql/ # 将组属性改为 mysql 组

5.创建数据目录并赋予权限

mkdir -p /data/mysql #数据目录
chown mysql:mysql -R /data/mysql

6.修改配置文件 vim /etc/my.cnf

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

7.初始化数据库

参数: --basedir 为mysql解压目录,–datadir 为mysql数据存放目录。(注意安装路径是否一致)

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

查看初始密码

cat /data/mysql/mysql.err

密码已经生成
在这里插入图片描述
注:在初始化数据库时可能报缺少xx动态库的错误
如:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
第1步:查看是否安装了libaio,无返回则说明未安装,执行步骤2

rpm -qa|grep libaio

第2步:切换到root用户,使用命令yum install -y libaio进行安装

8. 加入到系统服务并启动mysql

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

在这里插入图片描述
登录mysql,一定要开启服务后才能登陆

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

在这里插入图片描述
登录成功后会提示你重置密码

# 修改密码,SQL语句后面的分号不能丢
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
FLUSH PRIVILEGES;       #刷新 

退出 quit
重启服务 service mysql restart
再次登陆 /usr/local/mysql/bin/mysql -u root -p //输入刚修改的密码1234敲回车键
到此mysql已经安装完成了
在用工具连接mysql时提示:
MySQL 异常: "Host 'xxx' is not allowed to connect to this MySQL server"
解决:
登录mysql,刷新规则允许外部访问
host修改成%表示,所有主机都可以通过root用户访问数据库

use mysql      #选择访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;       #刷新 

第二种:通过yum在线安装Mysql

1、找到对应linux的版本进行下载

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

下载和安装mysql源

下载地址:https://dev.mysql.com/downloads/repo/yum/ 或 http://repo.mysql.com
#使用wget下载mysql
wget http://repo.mysql.com/mysql80-community-release-el7.rpm

如果显示wget未找到命令,则需要先安装wget:
yum -y install wget,然后再次执行上面命令, 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
在这里插入图片描述
结果图
在这里插入图片描述
2. 第二步 安装
(1) 通过yum安装方法,会直接添加mysql环境变量和启动服务

yum -y install mysql80-community-release-el7.rpm

在这里插入图片描述
(2) 安装MySQL服务器:community-server

yum -y install mysql-community-server

在这里插入图片描述
3、第三步 启动服务并查看服务状态

systemctl start mysqld        #一定要启动服务!
systemctl status mysqld      #查看服务状态

在这里插入图片描述
4、第四步 获取密码
登录 MySQL 必须要通过密码,此时 root 用户的密码可以通过以下命令在日志文件中获取:

grep "password" /var/log/mysqld.log

在这里插入图片描述
5、第五步 登录并求改密码
(1)登录
在这里插入图片描述
(2) 修改密码(修改规则)
在这里插入图片描述

MySQL 8.0+ 版本为以下方式:(规则修改)
set global validate_password.policy=0;
set global validate_password.length=4;MySQL 8.0+ 版本为以下方式:(密码修改)
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';

6、第六步 授权
授权远程用户连接

# 改表法
# 选择数据库
use mysql;
# 最后授权 MySQL,允许远程用户登录访问 MySQL
update user set host = '%' where user = 'root';
# 刷新权限
flush privileges;

通过yum安装Mysql完毕!

参考:前端日记

相关文章:

  • PyTorch中并行训练的几种方式
  • k8s安装jenkins
  • SpringCloud微服务 【实用篇】| Eureka注册中心、Ribbon负载均衡
  • 如何开发干洗店用的小程序
  • ChatGPT 也并非万能,品牌如何搭上 AIGC「快班车」
  • 代码规范之-理解ESLint、Prettier、EditorConfig
  • 【Nginx】nginx 解决504超时问题
  • Spring Cloud实战 |分布式系统的流量控制、熔断降级组件Sentinel如何使用
  • 阿里云99元服务器ECS经济型e实例性能如何?测评来了
  • opencv-直方图
  • 基于枚举实现的桥接模式
  • 【数据结构】队列详解
  • elementUI-表单-校验
  • SpringCloud - 新版淘汰 Ribbon,在 OpenFeign 中整合 LoadBalancer 负载均衡
  • 详解自动化之单元测试工具Junit
  • 2017-09-12 前端日报
  • Akka系列(七):Actor持久化之Akka persistence
  • Apache的基本使用
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • css布局,左右固定中间自适应实现
  • ES6系统学习----从Apollo Client看解构赋值
  • HTTP中的ETag在移动客户端的应用
  • Idea+maven+scala构建包并在spark on yarn 运行
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • javascript数组去重/查找/插入/删除
  • node.js
  • orm2 中文文档 3.1 模型属性
  • Python_OOP
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vue 2.3、2.4 知识点小结
  • Vue2 SSR 的优化之旅
  • 阿里云应用高可用服务公测发布
  • 每天10道Java面试题,跟我走,offer有!
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 区块链分支循环
  • 网页视频流m3u8/ts视频下载
  • k8s使用glusterfs实现动态持久化存储
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • raise 与 raise ... from 的区别
  • ​TypeScript都不会用,也敢说会前端?
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • %@ page import=%的用法
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (八)Spring源码解析:Spring MVC
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (力扣)1314.矩阵区域和
  • (转)Windows2003安全设置/维护
  • (转)母版页和相对路径