Linux 安装 MySQL【CentOS】_linux 安装mysql-程序员宅基地

技术标签: Linux  linux  mysql  

一、安装 MySQL 的准备工作

1. 查看系统版本

cat /etc/redhat-release

在这里插入图片描述

2. 查看系统是否已经安装过 MySQL

查看是否安装了 MySQL

rpm -qa | grep mysql

查看是否有安装 mariadb,该软件与 MySQL 数据库有冲突,需要手动卸载

# 如果是 CentOS7 可以检测出已经安装了 mariadb
rpm -qa | grep mariadb

在这里插入图片描述

3. 移除 MySQL 相关的软件

如果系统中没有安装过与 MySQL 相关的软件,直接跳到下一步

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

二、安装 MySQL

官网传送门

1. 找到压缩包的下载链接

点击 MySQL Community Server

在这里插入图片描述

选择 MySQL 的版本

注意 MySQL 的版本需要与 Linux 的版本对应上

  • centos7 系统对应的 MySQL 是 el7
  • centos8 系统对应的 MySQL 是 el8

一般情况下,直接选择第一个安装包即可,第一个安装包的版本会不定时的更新,与本文所用的安装包有略微的差别,但是并不影响具体的使用

截止 2023-5-11 最新版为 mysql-8.0.33-1.el8.x86_64.rpm-bundle.tar

在这里插入图片描述

2. 下载压缩包

此时有两种方法

  • 第一种,直接点击 No thanks, just start my download 进行下载,然后通过上传工具上传到服务器
  • 第二种,右键 No thanks, just start my download,选择复制链接,然后在服务器中通过 wget 命令下载到服务器

在这里插入图片描述

这里通过 wget 命令下载到服务器,安装到 usr/local 目录,总共 838.4M,下载速度比较慢,需要耐心等待

cd /usr/local
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar

在这里插入图片描述

3. 查看下载好的压缩包

ll

在这里插入图片描述

4. 解压

解压之后会有很多包产生,为了方便查看,将其解压到 /usr/local/mysql_package 里面

mkdir /usr/local/mysql_package
cd /usr/local/mysql_package
tar -xvf /usr/local/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql_package

在这里插入图片描述

5. 使用 rpm 安装

必须按照顺序执行命令,否则会出现依赖错误的报错,如果安装过程中出现错误,可以参考下一步给出的总结

rpm -ivh mysql-community-common-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el8.x86_64.rpm

6. 常见错误总结

(1)未按照规定顺序安装软件

按照顺序安装即可解决

在这里插入图片描述

(2)libc.so.6 缺失

大概率是因为下载的 MySQL版本与 Linux 版本对应不上,可以检查一下 MySQL 压缩包后缀名里面的参数是否与系统版本匹配

  • centos7 系统对应的 MySQL 是 el7
  • centos8 系统对应的 MySQL 是 el8

在这里插入图片描述

(3)openssl 缺失

安装 openssl-devel 即可解决

rpm -ivh mysql-community-devel-8.0.31-1.el8.x86_64.rpm

在这里插入图片描述

使用 yum install openssl-devel -y 安装 openssl-devel

yum install openssl-devel -y

在这里插入图片描述

再次安装该软件包即可

rpm -ivh mysql-community-devel-8.0.31-1.el8.x86_64.rpm

在这里插入图片描述

(4)perl 和 libaio 缺失

安装 prellibaio 即可解决

在这里插入图片描述

查看与 perl 相关的软件

yum list perl

在这里插入图片描述

安装

yum install -y perl.x86_64

查看与 libaio 相关的软件

yum list libaio

在这里插入图片描述

安装

yum install -y libaio*

7. 查看已安装的 MySQL 的版本

mysql -V
mysql --version

在这里插入图片描述

8. 删除无用的包

rm -rf /usr/local/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar
rm -rf /usr/local/mysql_package/

三、配置 MySQL 服务

1. 简单配置

查看 MySQL 服务状态

systemctl status mysqld

开启 MySQL 服务

systemctl start mysqld

设置 MySQL 服务开机自启

systemctl enable mysqld

重启 MySQL 服务

systemctl restart mysqld

再次查看 MySQL 服务状态,可以看到 MySQL 服务已经成功运行

systemctl status mysqld

在这里插入图片描述

2. 命令解析

(1)查看 MySQL 服务状态

systemctl status mysqld

(2)暂时关闭 MySQL 服务

服务器重新启动之后,MySQL 服务会再次启动

systemctl stop mysqld

(3)永久关闭 MySQL 服务

服务器重新启动之后,MySQL 服务也不会再次启动

systemctl disable mysqld

(4)开启 MySQL 服务

systemctl start mysqld

(5)设置 MySQL 服务开机自启

systemctl enable mysqld

(6)重启 MySQL 服务

systemctl restart mysqld

四、简单的使用 MySQL

1. 获取 root 用户的初始密码

第一次运行 MySQL 服务时,会进行初始化加载,同时会生成一个 root 用户的初始密码,可以通过查看日志文件 /var/log/mysqld.log 获取到 root 用户的初始密码,后续可手动修改密码

cat /var/log/mysqld.log | grep 'password'

在这里插入图片描述

2. 使用 root 用户登录到 MySQL 服务

mysql -u root -p

在这里插入图片描述

3. 修改 root 的密码

(1)修改初始化密码

alter user 'root'@'localhost' identified by 'BuGu123456!';

在这里插入图片描述

(2)修改 MySQL 校验密码的安全策略【可选,一般不建议修改】

# 设置密码长度的最低位数
set global validate_password.length=4;
# 设置密码的安全等级,修改密码安全策略为低(只校验密码长度,至少8位)
set global validate_password.policy=LOW;

在这里插入图片描述

4. 测试是否正常工作

show databases;

在这里插入图片描述

5. 退出 MySQL 环境

exit;

在这里插入图片描述

五、远程链接 MySQL

1. 第一次远程连接测试

提示无法连接到主机,这是因为 3306 端口未开放

如果是云服务器,防火墙的端口、安全组的端口都需要开放

在这里插入图片描述

(1)开放 3306 端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

(2)重新加载服务

firewall-cmd --reload

(3)查看端口号是否开放

firewall-cmd --zone=public --list-port

在这里插入图片描述

2. 第二次远程连接测试

可以看到提示该 root 用户没有远程访问的权限,不被允许远程链接到 MySQL 数据库

在这里插入图片描述

(1)切换到 MySQL 数据库

mysql -u root -p
use mysql;

(2)查看用户的访问权限

user 表中的 host 字段表示用户的访问权限

  • localhost:只可以本地访问
  • %:允许任意地方访问
select host, user, plugin from user;

注意:此时 root 用户并没有被授权远程访问 MySQL 服务,下图中的 host 字段应该为 localhost,而不是 %,由于我的失误,下面这张图片并不是该步骤对应的图片,在此展示的图片中,root 用户的 host 字段应为 localhost

在这里插入图片描述

(3)设置 root 用户任意地方可以访问

update user set host='%' where user='root';

(4)刷新权限

flush privileges;

(5)再次查看

select host, user, plugin from user;

经过修改,root 用户的 host 字段已经成功被修改为 %,表示 root 用户可以远程访问 MySQL 服务

在这里插入图片描述

3. 第三次远程连接测试

可以看到提示密码校验方式不被允许远程链接到 MySQL 数据库

在这里插入图片描述

caching_sha2_password 加密方式在远程访问时候不支持,需要修改为 mysql_native_password

(1)修改密码策略

注意、注意、注意!!!

修改密码策略的同时,将当前 root 用户的密码的验证策略也修改一下,否则当前用户的密码会失效,使得 root 用户无法使用原密码登录 MySQL 服务,目前我知道的解决办法就是重新安装 MySQL

mysql -u root -p
alter user 'root'@'%' identified with mysql_native_password by 'BuGu123456!';

(2)刷新权限

flush privileges;

4. 第四次远程连接测试

连接成功

在这里插入图片描述

六、数据的导入和导出

1. 导入数据到 MySQL 数据库

进入 MySQL 服务

mysql -uroot -p

创建新的数据库

create database test;

连接到目标数据库

use test;

运行指定路径的 SQL 文件

source /root/test.sql;

测试

select * from user;

在这里插入图片描述

2. 将 MySQL 数据库的数据导出

返回 Linux 界面,将名为 test的数据库备份到指路径的 test1.sql 文件中

mysqldump -uroot -p test > /root/test1.sql

完成后,使用 ll 命令可以查看到导出的 SQL 文件,也即完成备份

ll

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bugu_hhh/article/details/130625482

智能推荐

settext 下划线_Android TextView 添加下划线的几种方式-程序员宅基地

文章浏览阅读748次。总结起来大概有5种做法:将要处理的文字写到一个资源文件,如string.xml(使用html用法格式化)当文字中出现URL、E-mail、电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如果是所有的类型都出来就是**android:autoLink="all",当然也可以在java代码里 做,textView01.setAutoLinkMask(Li..._qaction::settext 无法添加下划线

TableStore时序数据存储 - 架构篇_tablestore 时间类型处理-程序员宅基地

文章浏览阅读6.3k次,点赞2次,收藏10次。摘要: 背景 随着近几年物联网的发展,时序数据迎来了一个不小的爆发。从DB-Engines上近两年的数据库类型增长趋势来看,时序数据库的增长是非常迅猛的。在去年我花了比较长的时间去了解了一些开源时序数据库,写了一个系列的文章(综述、HBase系、Cassandra系、InfluxDB、Prometheus),感兴趣的可以浏览。背景随着近几年物联网的发展,时序数据迎来了一个不小的爆发。从DB..._tablestore 时间类型处理

Ubuntu20.04下成功运行VINS-mono_uabntu20.04安装vins-mono-程序员宅基地

文章浏览阅读5.7k次,点赞8次,收藏49次。可以编译成功但是运行时段错误查找原因应该是ROS noetic版本中自带的OpenCV4和VINS-mono中需要使用的OpenCV3冲突的问题。为了便于查找问题,我只先编译feature_tracker包。解决思路历程:o想着把OpenCV4相关的库移除掉,但是发现编译feature_tracker的时候仍然会关联到Opencv4的库,查找原因是因为cv_bridge是依赖opencv4的,这样导致同时使用了opencv3和opencv4,因此运行出现段错误。oo进一步想着(1)把vins-mon_uabntu20.04安装vins-mono

TMS320C6748_EMIF时钟配置_tms 6748-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏12次。创龙TL6748开发板中,EMIFA模块使用默认的PLL0_SYSCLK3时钟,使用AISgen for D800K008工具加载C6748配置文件C6748AISgen_456M_config(Configuration files,在TL_TMS6748/images文件夹下),由图可以看到DIV3等于4,注意这里的DIV3就是实际的分频值(x),而不是写入相应PLL寄存器的值(x-1)。_tms 6748

eigen稀疏矩阵拼接(基于块操作的二维拼接)的思考-程序员宅基地

文章浏览阅读5.9k次,点赞4次,收藏13次。转载请说明出处:eigen稀疏矩阵拼接(块操作)eigen稀疏矩阵拼接(块操作)关于稀疏矩阵的块操作:参考官方链接 However, for performance reasons, writing to a sub-sparse-matrix is much more limited, and currently only contiguous sets of columns..._稀疏矩阵拼接

基于Capon和信号子空间的变形算法实现波束形成附matlab代码-程序员宅基地

文章浏览阅读946次,点赞19次,收藏19次。波束形成是天线阵列信号处理中的一项关键技术,它通过对来自不同方向的信号进行加权求和,来增强特定方向的信号并抑制其他方向的干扰。本文介绍了两种基于 Capon 和信号子空间的变形算法,即最小方差无失真响应 (MVDR) 算法和最小范数算法,用于实现波束形成。这些算法通过优化波束形成权重向量,来最小化波束形成输出的方差或范数,从而提高波束形成性能。引言波束形成在雷达、声纳、通信和医学成像等众多应用中至关重要。它可以增强目标信号,抑制干扰和噪声,提高系统性能。

随便推点

Ubuntu好用的软件推荐_ubuntu开发推荐软件-程序员宅基地

文章浏览阅读3.4w次。转自:http://www.linuxidc.com/Linux/2017-07/145335.htm使用Ubuntu开发已经有些时间了。写下这篇文章,希望记录下这一年的小小总结。使用Linux开发有很多坑,同时也有很多有趣的东西,可以编写一些自动化脚本,添加定时器,例如下班定时关机等自动化脚本,同时对于服务器不太了解的朋友,建议也可以拿台Linux来实践下,同时Ubuntu在Androi_ubuntu开发推荐软件

Nginx反向代理获取客户端真实IP_nginx获取到的是交换机的ip-程序员宅基地

文章浏览阅读2.2k次。一,问题 nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中。二,解决 Nginx服务器增加转发配置 proxy_set_header Host $host;_nginx获取到的是交换机的ip

Wireshark TCP数据包跟踪 还原图片 WinHex应用_wireshark抓包还原图片-程序员宅基地

文章浏览阅读1.4k次。Wireshark TCP数据包跟踪 还原图片 WinHex简单应用 _wireshark抓包还原图片

Win8蓝屏(WHEA_UNCORRECTABLE_ERROR)-程序员宅基地

文章浏览阅读1.5k次。Win8下安装VS2012时,蓝屏,报错WHEA_UNCORRECTABLE_ERROR(P.S.新的BSOD挺有创意":("),Google之,发现[via]需要BIOS中禁用Intel C-State,有严重Bug的嫌疑哦原因有空再看看..._win8.1 whea_uncorrectable_error蓝屏代码

案例课1——科大讯飞_科大讯飞培训案例-程序员宅基地

文章浏览阅读919次,点赞21次,收藏22次。科大讯飞是一家专业从事智能语音及语音技术研究、软件及芯片产品开发、语音信息服务的软件企业,语音技术实现了人机语音交互,使人与机器之间沟通变得像人与人沟通一样简单。语音技术主要包括语音合成和语音识别两项关键技术。此外,语音技术还包括语音编码、音色转换、口语评测、语音消噪和增强等技术,有着广阔的应用。_科大讯飞培训案例

perl下载与安装教程【工具使用】-程序员宅基地

文章浏览阅读4.7k次。Perl是一个高阶程式语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由 sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。Perl对 process、档案,和文字有很强的处理、变换能力,ActivePerl是一个perl脚本解释器。其包含了包括有 Perl for Win32、Perl for ISAPI、PerlScript、Perl。_perl下载

推荐文章

热门文章

相关标签