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完毕!

参考:前端日记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/208193.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS Code 如何搭建C/C++环境

目录 一、VS Code是什么? 二、VS Code下载和安装 2.1下载 2.2安装 2.3环境介绍 三、Vs Code配置C/C环境 3.1下载和配置MinGW-w64编译器套件 3.1.1下载 3.1.2配置 一、VS Code是什么? 跨平台,免费且开源的现代轻量级代码编辑器 Vis…

MongoDB的常用操作以及python连接MongoDB

一,MongoDB的启动 mongod --dbpath..\data\db mongodb注意同时开两个窗口,不要关! 二, MongoDB的简单使用 简单介绍一下mongoDB中一些操作 show dbs: 显示所有数据库 show databases: 显示所有数据库 use xxxx: 使用指定数据库/创建数据库&#xff08…

基于STM32的数字图像处理与模式识别算法优化

基于STM32的数字图像处理与模式识别算法优化是一项涉及图像处理和机器学习领域的研究任务,旨在实现高效的图像处理和模式识别算法在STM32微控制器上的运行。本文将介绍基于STM32的数字图像处理与模式识别算法优化的原理和实现步骤,并提供相应的代码示例。…

关于一些bug的解决1、el-input的输入无效2、搜索之后发现数据不对3、el多选框、单选框点击无用4、

el-input输入无效 原来的代码是 var test null 但是我发现不能输入任何值 反倒修改test的初始值为123是可以的 于是我确定绑定没问题 就是修改的问题 于是改成 var test ref() v-model绑定的值改成test.value就可以了 因为ref是相应式的 可以通过输入…

牛客 最小公配数 golang版实现

题目请参考: HJ108 求最小公倍数 题解: 在大的数的倍数里面去找最小的能整除另外一个数的数,就是最小公倍数,按照大的来找,循环次数能够降到很少,提升效率 golang实现: package mainimport ("fmt" )func main() {a : …

【开源】基于Vue.js的天然气工程业务管理系统的设计和实现

项目编号: S 021 ,文末获取源码。 \color{red}{项目编号:S021,文末获取源码。} 项目编号:S021,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四…

【SpringCloud】认识微服务、服务拆分以及远程调用

SpringCloud 1.认识微服务 1.1单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署 单体架构的优缺点: 优点: 架构简单,部署成本低 缺点: 耦合度高(维护困难&#x…

Apache访问控制

服务器相关的访问控制 Options指令 Options指令是Apache服务器配置文件中的一个重要指令,它可以用于控制特定目录启用哪些服务器特性。Options指令可以在Apache服务器的核心配置、虚拟主机配置、特定目录配置以及.htaccess文件中使用。 以下是一些常用的服务器特性选项: N…

如何有效解决UDP协议传输问题实现快速安全的文件传输

随着互联网技术的不断发展,UDP协议作为一种快速、简单的传输协议被广泛应用于文件传输领域。然而,UDP协议传输过程中也存在着一些问题,如传输速度不稳定、数据丢失等,这些问题会影响到文件传输的效率和安全性。本文将介绍UDP协议传…

java基础-集合

1、集合 在java中,集合(Collection)指的是一组数据容器,它可以存储多个对象,并且允许用户通过一些方法来访问与操作这些对象。j 集合的实现原理都基于数据结构和算法,如下: 数据结构&#xff1…

opencv-图像梯度

目标 • 图像梯度,图像边界等 • 使用到的函数有:cv2.Sobel(),cv2.Schar(),cv2.Laplacian() 等 原理 梯度简单来说就是求导。 OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Schar…

Seaborn画图颜色和给定的RGB hex code不一致

使用以下代码画图: import seaborn as sns import matplotlib.pyplot as plt plt.figure(dpi150) x [A,B,C,D] y [164, 86, 126, 53] sns.barplot(xx, yy, color#3a923a) 得到的颜色如下图所示: 这是因为seaborn默认降低了颜色的饱和度,即…