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)

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

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

相关文章

多线程JUC:多线程的实现和常用成员方法(守护、礼让、插入线程)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:首期文章 📚订阅专栏:多线程&JUC 希望文章对你们有所帮助 JUC的学习也是需要一些计算机、操作系统的…

Redis发布订阅及事务管理

目录 1.1 发布订阅 1.1.1 什么是发布订阅 1.1.2 常用命令 1.1.3 示例演示 1.2 事务管理 1.2.1 事务定义 1.2.2 Multi、Exec、discard 1.2.3 示例 1.2.4 事务的错误处理 1.2.5 事务的冲突问题 1.2.5.1 事务场景 1.2.5.2 悲观锁 1.2.5.3 乐观锁 1.2.5.4 事务解决冲…

详解C++类和对象(下)完结篇

文章目录 写在前面1. 进一步认识构造函数1.1 初始化列表1.2 初始化列表的特性1.3 explicit关键字 2. static成员变量和static成员函数2.1 static成员的概念2.2 static成员的特性 3. 友元3.1 友元函数3.1 友元类 4. 内部类5.匿名对象 写在前面 本篇文章详细介绍了C类和对象中几…

vector类的模拟实现

实现基本的vector框架 参考的是STL的一些源码&#xff0c;实现的vector也是看起来像是一个简略版的&#xff0c;但是看完能对vector这个类一些接口函数更好的认识。 我们写写成员变量&#xff0c;先来看看STL的成元变量是那些 namespace tjl {template<class T>class …

作业2.7

C基础补习测试题 一、选择题&#xff08;每题2分&#xff0c;共 50 分&#xff09; C语言中&#xff0c;运算对象必须是整型数的运算符是 A 。 A、% B、/ C、%和/ D、* 若有关系x≥y≥z,应使用 A C语言表达式。 A、(x>y)&&(y>z)…

python环境配置(操作简单)

文章目录 下载文件链接过时请私信我 安装python3.9.0下载安装步骤安装python3.9.0步骤 安装pyCharm2023.3.3下载链接安装方法 激活激活链接激活方法 创建项目出现问题 下载文件 链接过时请私信我 链接&#xff1a;https://pan.baidu.com/s/1ORuhvSbBoTxeQfnYhOuiFA?pwd3oan …

Java应用中各类环境变量的优先级及最佳实践

1.引言 Java应用程序的开发和部署过程中&#xff0c;合理利用各类环境变量是关键之一。不同类型的环境变量&#xff0c;如系统环境变量、进程级环境变量、Java启动参数设置的系统属性以及Spring Boot配置文件中的环境变量&#xff0c;它们之间存在优先级差异。 深入理解这些环…

第1章 认识Flask

学习目标 了解Flask框架&#xff0c;能够说出Flask框架的发展史以及特点 熟悉隔离Python环境的创建方式&#xff0c;能够独立在计算机上创建隔离的Python环境 掌握Flask的安装方式&#xff0c;能够独立在计算机上安装Flask框架 掌握PyCharm配置隔离环境的方式&#xff0c;能…

27/100两数相除(位移todo)

题目 27/100两数相除 给你两个整数&#xff0c;被除数 dividend 和除数 divisor。将两数相除&#xff0c;要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断&#xff0c;也就是截去&#xff08;truncate&#xff09;其小数部分。例如&#xff0c;8.345 将被截断为 8 …

【新书推荐】6.4节 标志寄存器

本节内容&#xff1a;8086 CPU内的标志寄存器FLAG为16位寄存器。本节我们将讲述FLAG寄存器各个标志位的使用方法。 ■标志寄存器的标志位&#xff1a;标志位可以分为6个状态标志位和3个控制标志位&#xff0c;此外还有7个保留的标志位。状态标志位用来记录算术逻辑运算的结果。…

C# CAD交互界面-自定义面板集(四)

运行环境 vs2022 c# cad2016 调试成功 一、引用 using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.Windows; using System.Windows.Forms; 二、程序说明 创建自定义面板集&#xff08;PaletteSet&#xff09;的C#命令方法实现。该方法名为CreatePalette&#xff…

Nacos(2)

Nacos部署 服务器端docker部署&#xff08;需要服务器安装好docker&#xff09; 导入sql文件到服务器编写nacos配置文件custom.env&#xff08;示例如下&#xff0c;改为自己服务器nacos相关信息&#xff09; PREFER_HOST_MODEhostname MODEstandalone SPRING_DATASOURCE_PL…