MySQL 未在 XAMPP 和 HeidiSQL 上启动
Posted
技术标签:
【中文标题】MySQL 未在 XAMPP 和 HeidiSQL 上启动【英文标题】:MySQL not starting on XAMP and HeidiSQL 【发布时间】:2019-12-02 01:36:24 【问题描述】:我无法使用 XAMPP 启动 mysql,并且我没有收到任何错误。因此,如果我单击“开始”,我会收到消息“01:26:41 [mysql] Attempting to start MySQL service...”,仅此而已。
问题可能是,因为我也安装了MariaDB自带的HeidiSQL。我知道他们都使用相同的端口(3306),我已经尝试将 MariaDB 的端口更改为 3308。
这是my.ini的内容:
[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql"
tmpdir = "C:/xampp/tmp"
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log_error = "mysql_error.log"
datadir=C:/Program Files/MariaDB 10.3/data
port=3308
innodb_buffer_pool_size=2033M
character-set-server=utf8
[client]
port=3308
plugin-dir=C:/Program Files/MariaDB 10.3/lib/plugin
mysql_error.log:
2019-07-24 1:18:11 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2019-07-24 1:18:11 0 [Note] InnoDB: Uses event mutexes
2019-07-24 1:18:11 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-07-24 1:18:11 0 [Note] InnoDB: Number of pools: 1
2019-07-24 1:18:11 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-07-24 1:18:11 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2019-07-24 1:18:11 0 [Note] InnoDB: Completed initialization of buffer pool
2019-07-24 1:18:11 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=1791378
2019-07-24 1:18:11 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-07-24 1:18:11 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-07-24 1:18:11 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-07-24 1:18:11 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-07-24 1:18:11 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2019-07-24 1:18:11 0 [Note] InnoDB: Waiting for purge to start
2019-07-24 1:18:11 0 [Note] InnoDB: 10.3.16 started; log sequence number 1791387; transaction id 163
2019-07-24 1:18:11 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2019-07-24 1:18:11 0 [Note] InnoDB: Buffer pool(s) load completed at 190724 1:18:11
2019-07-24 1:18:11 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-07-24 1:18:11 0 [Note] Server socket created on IP: '::'.
2019-07-24 1:18:11 0 [Note] Reading of all Master_info entries succeeded
2019-07-24 1:18:11 0 [Note] Added new Master_info '' to hash table
2019-07-24 1:18:11 0 [Note] mysql\bin\mysqld.exe: ready for connections.
Version: '10.3.16-MariaDB' socket: '' port: 3307 mariadb.org binary distribution
我已经尝试了来自 that questions 的所有答案,但没有一个对我有用。
不仅 XAMPP,我什至无法与 HeidiSQL 建立连接。错误信息是:
无法连接到“127.0.0.1”上的 MySQL 服务器 (10061)
我已经卸载了 XAMPP 和 HeidiSQL 并再次安装了它们。即使这样也无济于事。任何帮助将不胜感激!
【问题讨论】:
Windows 任务管理器是否显示 mysqld 正在运行的后台进程?如果 HeidiSQL 包含 MariaDB,为什么还要 XAMPP 参与? @WilsonHauck 如果我单击 XAMPP 上的“开始”,mysql.exe 不会在任务管理器上运行,但如果我启动服务MySQL80
(在services.msc
)然后开始连接HeidiSQL,我在任务管理器中看到mysql.exe 被列出了两次。
免责声明:我是我的个人资料中提到的网站的内容作者,带有联系信息的网络个人资料,如果您联系,将尽力提供帮助。这不是可以在 SO 上回答的一问一答的情况,涉及的部分太多。
【参考方案1】:
HeidiSQL 只会通过端口 3306 连接到您的 MySQL 实例,但它不会侦听任何端口,因此它不会使用您所说的任何端口。
所以你的问题是未启动的 MySQL 服务。
您的 my.ini 看起来好像您已经运行了两个服务:
一个来自 C:\Program Files\MariaDB 10.3\ 一个来自 C:\xampp\mysql\查看您的服务控制面板,例如通过从开始菜单运行services.msc
。然后,注意名为“MySQL”或“MariaDB”的服务,或者其中包含一些版本号的服务。
您的 my.ini 在 [mysqld]
部分中包含两个端口定义,这可能意味着您的 Xamp/MySQL 仍然需要端口 3306,而忽略后面的 3308。这再次解释了为什么您的服务无法启动,如果您的 MariaDB 服务仍在运行。
对安装 MariaDB 的意图一无所知,我建议将其卸载,或者至少将服务启动选项更改为 manually
:
【讨论】:
谢谢安斯。通过运行services.msc
,我看到我有MySQL
和MySQL80
。我已将它们的 Starttypes 更改为 Manual
,现在 HeidiSQL 已连接,但 XAMPP 保持不变,仍无法连接。
两个服务之一仍在运行 - 否则 HeidiSQL 将无法连接。可能重启你的电脑一次。
是的,MySQL80
运行。我无法运行其他服务,因为我收到服务MySQL
无法在“本地计算机”上启动的消息,并且我收到系统找不到文件的错误。也许这就是 XAMPP 中的 MySQL 无法连接的原因。
你的两个 MySQL 服务都在使用 3306 端口,所以第二个失败了。只需为其中一个设置不同的端口,然后删除重复的端口设置。
不是真的,因为如果我开始与 HeidiSQL 的连接,我使用的是 3308 端口并且它会被连接。以上是关于MySQL 未在 XAMPP 和 HeidiSQL 上启动的主要内容,如果未能解决你的问题,请参考以下文章