传奇架设时MySQL数据库常见错误及解决方法

来源: 作者: 点击:
一、连接相关错误
(一)“Can't connect to MySQL server on 'localhost' (10061)” 错误
错误原因
此错误通常表示客户端无法连接到 MySQL 服务器,原因可能是 MySQL 服务未启动或者网络配置问题。在传奇架设过程中,如果 MySQL 服务未正常启动,客户端在尝试连接到本地的 MySQL 服务器('localhost')时就会出现这个错误。另外,如果防火墙阻止了 MySQL 的连接端口(默认 3306 端口),也会导致该错误。
解决方法
首先检查 MySQL 服务是否启动。在 Windows 系统中,可以通过服务管理器查看,找到 “MySQL” 服务,若未启动则右键选择 “启动”。在 Linux 系统中,可以使用命令 “service mysql start”(对于基于 systemd 的系统,可以使用 “systemctl start mysqld”)启动服务。
如果服务已启动,检查防火墙设置。在 Windows 系统中,可以暂时关闭防火墙或者在防火墙规则中允许 MySQL 的 3306 端口通过。在 Linux 系统中,例如使用 iptables 防火墙,可以添加规则 “iptables -A INPUT -p tcp --dport 3306 -j ACCEPT” 允许 3306 端口的入站连接。
(二)“Access denied for user 'username'@'localhost' (using password: YES)” 错误
错误原因
这个错误表示用户在尝试连接 MySQL 服务器时,提供的用户名和密码组合不被接受。在传奇架设中,可能是在配置数据库连接时,输入了错误的用户名或密码,或者是该用户没有足够的权限从本地('localhost')连接。
解决方法
确认用户名和密码是否正确。如果忘记密码,可以尝试通过 MySQL 的安全模式重置密码。在 Windows 系统中,停止 MySQL 服务,然后在命令行中使用 “mysqld --skip - grant - tables” 启动 MySQL 服务(这是一种临时的不安全模式,仅用于密码重置),之后使用 “mysql -u root” 进入 MySQL 命令行,再使用 “UPDATE mysql.user SET password = PASSWORD ('new_password') WHERE user = 'username';” 命令重置密码(对于 MySQL 5.7 及以上版本,使用 “ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';”),最后重启 MySQL 服务。
如果用户名和密码正确,检查用户的权限设置。使用具有足够权限的用户(如 root)登录 MySQL,执行 “GRANT ALL PRIVILEGES ON . TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;” 命令为指定用户授予足够的权限。
二、启动相关错误
(一)“The MySQL server is running with the --skip - grant - tables option so it cannot execute this statement” 错误
错误原因
当 MySQL 服务以 “--skip - grant - tables” 选项启动时,它会跳过权限表的加载,这是一种特殊的安全模式。在这种模式下,执行需要权限验证的语句(如创建用户、授予权限等)就会出现这个错误。在传奇架设中,如果在进行数据库初始化或修复时不小心以这种模式启动了 MySQL,后续操作可能会受到影响。
解决方法
首先正常关闭 MySQL 服务。在命令行中执行 “mysqladmin -u root -p shutdown”(输入密码后)。然后重新以正常模式启动 MySQL 服务,在 Windows 系统中通过服务管理器启动,在 Linux 系统中使用 “service mysql start” 或 “systemctl start mysqld”。
(二)“MySQL 服务无法启动,错误 1067:进程意外终止” 错误
错误原因
出现这个错误可能是由于多种原因,如 MySQL 的配置文件(my.ini 或 my.cnf)存在错误配置,或者是数据库文件损坏。在传奇架设中,如果不正确地修改了配置文件,例如设置了不合理的内存分配、错误的存储引擎配置等,可能会导致 MySQL 服务启动失败并出现这个错误。
解决方法
检查配置文件。在 Windows 系统中,查看 “C:\Windows\my.ini” 文件,在 Linux 系统中查看 “/etc/my.cnf” 文件。确保配置参数的正确性,例如对于内存分配相关的参数(如 “innodb_buffer_pool_size” 等),要根据服务器的实际内存情况合理设置。如果不确定某些参数的设置,可以参考 MySQL 的官方文档或者恢复默认配置。
如果怀疑是数据库文件损坏,可以尝试使用 MySQL 的修复工具。在命令行中使用 “mysqlcheck - - repair” 命令对所有数据库进行修复操作。如果问题仍然存在,可以考虑从备份中恢复数据库文件。
三、数据库操作相关错误
(一)“Table 'your_database.your_table' doesn't exist” 错误
错误原因
当在传奇架设中执行涉及某个表的操作(如查询、插入、更新等)时,如果该表不存在就会出现这个错误。可能是在数据库迁移、导入过程中表没有正确创建,或者是程序中表名拼写错误。
解决方法
首先检查表名是否正确,确保在 SQL 语句中使用的表名与数据库中实际存在的表名一致。如果是在数据库导入或迁移过程中出现的问题,可以重新检查导入脚本或迁移过程。如果表确实不存在,需要根据数据库的设计创建该表,可以使用 “CREATE TABLE” 语句创建表,例如 “CREATE TABLE your_database.your_table (column1 datatype1, column2 datatype2,...);”。
(二)“Duplicate entry 'value' for key 'primary'" 错误
错误原因
这个错误表示在向一个具有主键约束的表中插入数据时,插入的值与已有的主键值重复。在传奇架设中,例如在创建角色或者添加游戏物品记录时,如果没有正确处理唯一性,就可能出现这个错误。
解决方法
检查插入数据的逻辑。如果是手动插入数据,确保插入的值在主键列上是唯一的。如果是程序自动插入数据,需要在程序中添加逻辑判断,例如在插入之前先查询数据库中是否已经存在相同主键值的记录,如果存在则采取相应的处理措施(如更新已有记录而不是插入新记录)。

在传奇架设过程中,mysql 数据库可能会出现多种错误。以下是一些常见错误及解决方法:
安装 mysql 遇到错误 193 的解决办法:如果在战神手游引擎安装 MYSQL 报错 193,可在 D:\mud2\MySQL\bin 目录下文件夹中,找到 mys qld 这个 0kb 文件,并删除掉它,然后继续安装,就能成功了。如果出现 “The service already exists”,打开目录 D:\mud2\MySQL\bin,在该目录下 shift + 右键打开命令窗口(切记用管理员身份打开 CMD),输入 “sc delete mysql” 删除该 mysql 后继续安装。
“SQL Error: Can’t connect to MySQL server” 错误:检查 MySQL 数据库是否启动,启动后该问题可能得到解决。如战神引擎 M2Server 和 DBServer 出现此错误,启动 MySQL 数据库后可能正常运行。
GEE 引擎 MySQL 出错 SQLSTATE (42S02)(1146) table'yiqu.items' doesn't exist 的解决办法:用工具 Navicat Premium 12,将 F:\360data\ 重要数据 \GEE1.80 英雄合击纯净基础端 \MirServer\Mir200\M2Data.db 这里的数据导入数据库里的 “yiqu”。
MySQL 无法连接:在长期不使用后或者重启电脑之后发现 MySQL 输入密码没有反应或者连接失败,Navicat 也无法连接使用。可能是 MySQL 服务没有启动。解决方法是找到此电脑(我的电脑),右键点击,选择管理找到服务和应用程序,找到服务,找到 MySQL,右键选择启动。
win10 系统 mysql 数据库报错的解决:传奇版本架设时候,由于 win10 非专业版系统内部不带 mysql 相关,可能会出现报错。如果是 mysql 链接不上的报错,可以通过 cmd 输入 services.msc 查看是否有 mysql 的服务。若没有,可去 mysql 官网下载最新的 mysql8,下载后只需要选择服务端功能即可。如果已经有 mysql 但是密码对不上,可以改密码试试或者在服务中关闭 mysql 然后控制面板中卸载,再重新安装。
传奇架设中安装 mysql 报错 193 解决办法
在传奇架设过程中,安装 MySQL 时出现报错 193 可能是由于多种原因引起的。一种可能是在 MySQL 安装目录下有一个空的 mysqld 文件。解决方法是再次输入 “mysqld --install” 命令,这会显示安装目录。然后去这个目录下搜索 mysqld 文件,如果有一个空的文件(0KB),将其删除即可。另一种可能是直接把 my.ini 配置文件复制到虚拟机上,没改 basedir 和 batadir 路径。这时需要检查并修改 my.ini 配置文件部分内容,确保路径设置正确。
传奇架设中‘SQL Error: Can’t connect to MySQL server’错误解决
当在传奇架设中出现 “SQL Error: Can’t connect to MySQL server” 错误时,可以先分析错误的根源来自 MySQL。首先,检查 MySQL 服务器是否在运行,可以在进程里面查看是否有 mysqld.exe*32 在运行。如果没有这个进程,证明 MySQL 没有启动成功。启动的方法是进入 D:\mud2\MySQL\bin 路径,按住 Shift 键,在鼠标右键选择 “在此处打开命令窗口 (W)”,然后输入命令 “net start mysql” 等待。如果 MySQL 服务正在启动和 MySQL 服务已经启动成功,把之前启动失败的全部停止,再重新启动一次看看是否能够正常加载。如果通过上述方法还是没有解决,而且 MySQL 是成功启动的,文件也覆盖了,那么问题可能在服务器防火墙上。防火墙有两个地方需要检查,一是控制面板上的防火墙关闭;二是如果使用战神引擎手游版本,M2Server 和 DBServer 都出现这个错误,游戏也进不去,可能是 MySQL 数据库没有启动,启动后,就可以正常运行了。
传奇架设中 GEE 引擎 MySQL 出错 SQLSTATE (42S02)(1146) 解决
在传奇架设中使用 GEE 引擎时,如果出现 MySQL 出错 SQLSTATE (42S02)(1146),例如提示 “table'yiqu.items' doesn't exist”,可以使用工具 Navicat Premium 12,将 F:\360data\ 重要数据 \GEE1.80 英雄合击纯净基础端 \MirServer\Mir200\M2Data.db 这里的数据导入数据库里,如导入数据库 “yiqu”。
传奇架设中 MySQL 无法连接解决
在传奇架设中,如果 MySQL 无法连接,可以尝试以下方法。首先,找到此电脑(我的电脑),右键点击,选择管理找到服务和应用程序,再找到服务,找到 MySQL,右键选择启动。如果长期不使用后或者重启电脑之后发现 MySQL 输入密码没有反应或者连接失败,Navicat 也无法连接使用,可能是 MySQL 服务没有启动。如果出现错误信息为 “A system error has occurred.System error 1067 has occurred.The process terminated unexpectedly.”,可以检查你的 Mysql 目录有没有给系统的 System 用户权限,删除掉 % WINDOWS%/my.ini 文件,检查 c:/my.cnf 文件配置是否正确。另外,检查 MySQL 端口是否被防火墙阻止,如果是,确保防火墙设置允许 MySQL 的端口(默认为 3306)通过。还可以检查 MySQL 配置文件,确保配置文件中的参数设置正确,特别是 bind-address 参数设置为 MySQL 服务器的 IP 地址或者 0.0.0.0,以允许来自任何 IP 地址的连接;port 参数设置为正确的 MySQL 端口号(默认为 3306);skip-networking 参数没有被设置为 1,否则将禁止所有网络连接。
传奇架设中 win10 系统 mysql 数据库报错解决
在传奇版本架设时,刚开始接触 GOH,由于 win10 非专业版系统内部不带 mysql 相关,所以会有报错。从报错信息中可以了解到是 mysql 链接不上的报错。解决方法是去 mysql 官网下载最新的 mysql8,下载后只需要选择服务端功能即可。如果已经有 mysql 但是密码对不上,可以改密码试试或者在服务中关闭 mysql 然后控制面板中卸载,再重新安装。
在传奇架设过程中,mysql 数据库可能会出现各种错误,但通过仔细分析错误信息,采取相应的解决方法,通常可以顺利解决问题。无论是安装报错、连接错误还是其他问题,都可以从检查 MySQL 服务是否启动、防火墙设置、配置文件参数等方面入手,逐步排查问题并解决。同时,在遇到问题时,可以参考相关的技术文档和论坛,获取更多的解决思路和方法。