Wishlist 0 ¥0.00

windows安装MySQL 9.0以及bug解决——启动失败和拒绝root登录

前言

记录在Windows上安装MySQL9.0遇到的一些bug。主要包括两个问题:
starting the server失败,mysql无法启动的情况
Access denied for user ‘root’@‘localhost’ ,拒绝root账号登录

 

 

下载

官网地址:https://dev.mysql.com/downloads/mysql/
版本:9.0.1

安装

  1. 按照步骤安装
  2. 类型选择Custom,自定义安装路径。默认安装在C盘。
    在这里插入图片描述
  3. 等进入MySQL configuration。配置mysql数据储存地址
    在这里插入图片描述
  4. 配置端口。默认3306
    在这里插入图片描述
  5. 设置root密码,以及配置新的用户
    在这里插入图片描述
  6. 配置服务名,建议改成mysql,用其他名称容易忘记。

net start mysql
net stop mysql
若你的服务名不是mysql,使用启动和关闭命令时,将mysql换成对应的服务名即可。
在这里插入图片描述

  1. 下一步直到完成

配置Path路径

将刚安装成功的MySQL添加到Path路径中。
在这里插入图片描述

安装过程中遇到的问题

在安装过程中,在starting the server失败。

在这里插入图片描述
解决方案:更改MySQL的登录选项。更改完之后再重新执行
在我的计算机管理,找到服务选项,选择MySQL。
在这里插入图片描述
右键选择属性
在这里插入图片描述

不能登录mysql,拒绝root账户登录

分析:先遇到上面那个问题,在遇到的这个问题,应该是初始化的时候创建不成功。
在这里插入图片描述

解决方案:卸载重装,在安装步骤点击执行之前,先更改MySQL的登录选项。

SingleFile:一键保存网页为单个文件

项目地址:https://gitcode.com/gh_mirrors/si/SingleFile

是一个浏览器扩展程序,可将任何网页保存为一个包含所有资源的独立 HTML 文件。该程序具有高度定制性和灵活性,并且适用于各种场景。

功能与用途

SingleFile 可以帮助你轻松地保存网页以便离线阅读或备份重要信息。以下是使用 SingleFile 的一些示例场景:

  • 保存新闻文章以供稍后阅读。
  • 离线查看教程、文档和博客文章。
  • 保存参考资料以便在没有互联网连接时查阅。
  • 备份重要的网页信息以防网站更改或消失。
  • 在本地存储在线课程资料。

主要特点

SingleFile 提供了一系列独特的功能和优点,使其成为一款出色的网页保存工具:

  1. 单一 HTML 文件:SingleFile 将整个页面(包括图像、脚本和其他资源)打包成一个 HTML 文件,方便管理和共享。
  2. 自定义输出设置:你可以根据需要调整输出文件的编码、压缩级别以及是否启用资源重命名等功能。
  3. 简化页面结构:如果不需要原始页面的所有元素,可以选择仅保留主要内容,并删除广告、导航栏等无关部分。
  4. 自动处理媒体资源:对于视频、音频等内容,SingleFile 可以将其转换为 HTML5 格式并在本地播放。
  5. 跨平台支持:SingleFile 支持多种浏览器,如 Chrome、Firefox 和 Brave,让你可以在不同平台上享受相同的体验。
  6. 开源与免费:SingleFile 是一个完全开源的项目,你可以自由下载、修改和分发它。项目源码可在 上找到。

开始使用 SingleFile

要开始使用 SingleFile,请按照以下步骤操作:

  1. 访问 ,并选择你的浏览器类型。
  2. 安装扩展程序,然后重新加载你的浏览器。
  3. 单击浏览器工具栏上的 SingleFile 图标,或将鼠标悬停在其上以显示可用选项。
  4. 针对所需选项进行配置,并点击 "Save as HTML" 保存网页。

现在,你应该已经成功安装并使用了 SingleFile。尽情探索其强大功能,并利用 SingleFile 来满足你的网页保存需求吧!

如何保护网站根目录免受攻击_网站根目录与网站目录结构的关系是什么

网站根目录是指 Web 服务器上存放网站所有文件和子目录的最顶层目录。它通常被称为"文档根目录"或"Web 根目录"。在大多数 Web 服务器配置中,用户输入的 URL 地址会直接指向这个根目录,根据 URL 路径找到相应的网页文件。

网站目录结构是指网站根目录下各个子目录的组织方式。通常情况下,网站会将不同类型的文件存放在相应的子目录中,例如:

  • images/ 目录存放网站使用的所有图像文件
  • css/ 目录存放网站的样式表文件
  • js/ 目录存放网站的 JavaScript 脚本文件
  • includes/ 目录存放一些公共的 PHP、ASP 等动态脚本文件
  • uploads/ 目录存放用户上传的文件

合理的目录结构不仅有利于网站管理和维护,也可以提高网站的安全性。

网站根目录中包含网站的所有重要文件,被攻击者获取,将会对网站造成严重的安全隐患。保护好网站根目录至关重要。下面列举几种常见的保护方法:

1. 限制对根目录的访问权限

可以通过修改 Web 服务器的配置文件,限制对网站根目录的访问权限,仅允许 Web 服务器进程有读取权限,而其他用户或进程无法直接访问。这样可以有效防止攻击者直接获取根目录下的关键文件。

2. 隐藏根目录的物理路径

可以通过设置 Web 服务器的配置,将网站根目录的物理路径隐藏起来,使得攻击者无法直接获取到真实的路径信息。比如在 Apache 服务器上可以使用 DocumentRoot 指令设置虚拟路径,而不是直接使用物理路径。

3. 限制敏感文件的访问

在根目录下,通常会存放一些重要的配置文件、数据库连接信息等敏感信息,这些文件必须严格限制访问权限。可以通过设置 Web 服务器的访问控制列表(ACL)来实现,仅允许 Web 服务器进程有读取权限。

4. 使用 .htaccess 文件限制访问

在 Apache 服务器上,可以在网站根目录下创建 .htaccess 文件,用于设置目录级别的访问控制规则。例如,可以禁止访问根目录下的敏感文件,或者限制某些 IP 地址的访问。

5. 定期备份网站文件

即使采取上述措施,网站根目录仍有可能被攻击者入侵。定期备份网站文件非常重要,一旦发生安全事故,可以快速恢复网站。备份应该包括网站代码、数据库、配置文件等所有重要内容。

网站根目录是网站的核心所在,保护好根目录免受攻击非常重要。合理的网站目录结构有利于管理和维护,也可以提高安全性。通过限制访问权限、隐藏物理路径、限制敏感文件访问、使用 .htaccess 等方式,可以有效保护网站根目录。定期备份网站文件也是必要的安全措施。只有采取全方位的保护措施,才能确保网站根目录的安全。

MySQL 连接数过多的处理方法合集 - ERROR 1040 Too many connections

 

MySQL连接数过度的异常

碰到Can not connect to MySQL server. Too many connections”-mysql错误着实令人抓狂。这基本等于失去了对 MySQL 的控制权

一、连接数过度出现的原因

出现 MySQL 连接数过多有多种情况,多数是因为mysql_connect ,没有 mysql_close; 当sleep连接占满最大连接数max_connections时,会导致 Too many connections 错误。

MySQL 默认最大连接数max_connections为 151,其实 MySQL 还给 root 留了多一个通道,真正的最大连接数为max_connections + 1 。但实际工作中因为各种原因,这个 1 也有可能被占用。这时,我们无法通过登录 MySQL 调整参数的方法来处理这个错误。

二、查看当前 MySQL 连接情况

我们可以使用 SHOW PROCESSLIST; 查看前 100 条连接。

show processlist;

也可以使用 SHOW full PROCESSLIST; 查看所有连接。

show full processlist;

如何查看当前 MySQL 连接池是否已满?

使用 mysqladmin -u uname -p status 查看当前连接数情况。

 

将 uname 替换为你的 MySQL 账号名称,在返回的结果中,Threads 的值为当前连接数,如果当前连接数接近或等于最大连接数,那么就说明 MySQL 连接数已经满了或接近满了。

合理设置超时时间

之所以会出现大量 sleep 占满连接,除了业务量的原因外,也有可以从超时时间着手调整,可根据实际情况适当缩短超时时间,让 MySQL 可在短时间自动清理超时连接,以达到保证连接通常的目的。

mysqld 连接超时参数有以下两个:

  • interactive_timeout
  • wait_timeout

默认情况下,两者都是 28800 秒(8 小时),我们可以在 MySQL 配置文件中修改这两个参数。
如果使用的是mysql_pconnect 这种持久连接的话,可以将超时时间降到更合适的值,比如 600 (10 分钟)甚至 60(1 分钟)。这个超时时间并没有一个明确的时间,主要还是要看应用场景中的实际需求。

  • 1.在配置文件中修改超时时间(需重启 MySQL 生效):
    首先打开 mysqld.cnf 配置文件。
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

然后在配置文件中找到这两行,并修改对应的参数:

interactive_timeout=60
wait_timeout=60
  • 2.临时变更连接超时时间(无需重启):
SET GLOBAL interactive_timeout = 60;
SET GLOBAL wait_timeout = 60;

注意:

  • 这是临时变更配置的方法,在重启 MySQL 后会恢复配置文件中的设置值。

     

  • 对于已经打开的连接,是不会被关闭的。只有新建立的连接才会在 60 秒后关闭。

查看及修改最大连接数

在 MySQL 中,默认连接数为 151,我们可以通过修改 MySQL 配置文件永久调整连接数参数,也可以通过 SQL 命令临时调整。

1.查看当前 MySQL 连接数

 show variables like '%max_connections%';

2.临时调整当前 MySQL 连接数

set GLOBAL max_connections = 300;

3.通过修改 MySQL 配置文件调整最大连接数

  • 1.先打开 MySQL 配置文件:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在 [mysqld] 下面找到 max_connections ,如果没有可直接添加。

[mysqld]
...
max_connections = 300
...

    1. 修改后重启 MySQL,使配置文件生效:
sudo systemctl restart mysql

无法登录 MySQL 时,如何修改最大连接数

无法登录又无法重启 MySQL 时,我们可以使用以下方法进行操作,以增大连接数。

  • 1.修改 pid 增大连接数
    我们可以使用 gdb 工具,在不进入数据库的情况下,修改最大连接数。
gdb -p $(cat data/uname.pid) \
-ex "set max_connections=5000" -batch
  • data/uname.pid:将这里修改为你服务器中 pid 的文件路径及文件名。

此方法仅适用于特殊、紧急情况,在生产环境使用,有一定风险,慎用。

提前布局,给 root 预留好连接通道。

在 MySQL 配置文件中,有两个有关连接数的参数.

  • max_connections:控制最大连接数。
  • max_user_connections:控制单个用户的最大连接数。当此参数为 100 时,那么任意用户(含 root 用户)最多可创建 100 个连接。

制定连接策略:

max_connections = 2000
max_user_connections= 300

当 MySQL 有 6 个用户时(不含 root ),单个用户最大连接数为 300,那么 6 个用户最多有 1800 连接。那么系统总会剩下 200 个连接留给 root 使用。

总结

有关 MySQL 连接数过多的错误,需要在平时的工作中多实践,这里的很多关键参数都需要对手中的工作有更宏观的认识,才能更好的设定这些参数。

这类问题还可以利用arthas/tcpdump等工具排查:

  • Arthas 是 Alibaba 开源的 Java 诊断工具;
  • tcpdump根据使用者的定义对网络上的数据包进行截获的包分析工具
    tcpdump可以抓取mysql报文
    一个TCP包中包含多个mysql协议包,一个协议包就是一条mysql记录

(完)

About Us

Since 1996, our company has been focusing on domain name registration, web hosting, server hosting, website construction, e-commerce and other Internet services, and constantly practicing the concept of "providing enterprise-level solutions and providing personalized service support". As a Dell Authorized Solution Provider, we also provide hardware product solutions associated with the company's services.
 

Contact Us

Address: No. 2, Jingwu Road, Zhengzhou City, Henan Province

Phone: 0086-371-63520088 

QQ:76257322

Website: 800188.com

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.