Linux下centos操作系统安装Mysql8.0过程及踩坑填补

本文主要是介绍Linux下centos操作系统安装Mysql8.0过程及踩坑填补,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我自己有一台服务器,之前安装的是MySQL5.5,现在我想升级为MySQL8.0,于是我干了以下操作,既有踩坑又有干货:

1.先卸载MySQL;

2.删除跟MySQL相关文件;

3.安装新的MySQL8.0版本(这里踩了一个坑,我的centos是7版本,结果我MySQL版本误操作为centos8的版本了,导致我安装不成功)

4.由于安装失败,寻找补救措施(没卵用,可能某个配置文件还是没删到)

5.接受现实,重置服务器。

6.最终安装成功,这里将我的安装过程展示出来;

1.删除以前的MySQL相关文件

由于我的是新服务器,因此不需要删除内容,此处还是贴出来

rpm -qa | grep mysql  

如果没有任何输出,则表示未安装,如果有则输入以下命令进行删除:

rpm  -e  需要卸载的rpm包

如果删除时提示有依赖,则输入强制删除命令:

rpm  -e  需要卸载的rpm包  --nodeps

2.查看CentOS版本

cat /etc/redhat-release

3.去mysql官网找到对应系统版本的MySQL下载链接

MySQL :: Download MySQL Yum Repository

我这里已经复制出来了,供君采撷:https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

4.下载MySQL

进入你想放置MySQL的文件夹,运行命令

wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

这里我是自己创建的一个文件夹,大家可以自行创建自己的文件夹

创建文件夹的命令:mkdir java:创建一个名为java的文件夹

                               cd java:切换到java文件夹

                               mkdir mysql:在java文件夹内创建一个mysql文件夹

最后再cd mysql进入mysql文件夹内再运行上面wget的命令下载mysql文件;

5.安装MySQL源

sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm

6.安装MySQL服务端

sudo yum install mysql-community-server

在安装过程中有两个需要选择Y/N的地方,直接选择Y然后回车即可

可能会出现这个问题:MySQL 8.0 Community Server“ 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确

此时使用这个命令跳过验证密钥即可: sudo yum install mysql-server --nogpgcheck
 

7.启动MySQL

systemctl start mysqld.service

8.修改MySQL密码

输入命令查看初始密码

grep 'temporary password' /var/log/mysqld.log
2月 05 17:22:15 VM-12-5-centos systemd[1]: Starting MySQL Server...
2月 05 17:22:25 VM-12-5-centos systemd[1]: Started MySQL Server.
[root@VM-12-5-centos yum.repos.d]# systemctl stop mysqld.service
[root@VM-12-5-centos yum.repos.d]# systemctl restart mysqld.service
[root@VM-12-5-centos yum.repos.d]# grep 'temporary password' /var/log/mysqld.log
2024-02-05T09:22:18.784299Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: qs!cuo3wwh+B

初始密码就是在root@localhost:后面的一坨,比如我的初始密码就是qs!cuo3wwh+B

登陆mysql:

使用ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';这个命令将你的密码填入然后回车,注意密码强度必须要满足MySQL的默认策略:在MySQL中默认的密码策略是要包含数字、字母及特殊字符,如果只是测试用,不想用那么复杂的密码,可以修改默认策略(懒得改了);

我修改成功是这样的:

9.防火墙开放3306端口

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

别忘了还得去你的云服务器控制面板开放3306端口,这里以腾讯云为例:

10.遇到的最后一个坑,navicat连不上MySQL

在使用navicat连接MySQL的时候出现禁止我的ip连接MySQL,这个时候需要去mysql上修改MySQL中的user表的root用户的权限:以下是我的修改过程,主要就是需要把root用户的host修改为通配符%,这样任何的ip都能通过root访问这个MySQL;

具体命令:show databases;展示数据库有哪些

use mysql;选择mysql数据库

show tables;展示数据库的表

update user set host='%' where user='root';修改内容

flush privileges;刷新权限

最后就能成功连接数据库了.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| ndb_binlog_index                                     |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
+------------------------------------------------------+
38 rows in set (0.01 sec)
mysql> select Host, User from user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> select Host, User from user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+
4 rows in set (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

这篇关于Linux下centos操作系统安装Mysql8.0过程及踩坑填补的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/686721

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I