Fra*_*123 244 mysql phpmyadmin
我试图通过phpMyAdmin导入一个大的sql文件...但它一直显示错误
'MySql服务器已经消失'
该怎么办?
GBD*_*GBD 363
如前所述这里:
MySQL服务器的两个最常见的原因(和修复)已经消失(错误2006):
服务器超时并关闭连接.怎么修:
检查mysqld的my.cnf配置文件中的wait_timeout变量是否足够大.在Debian上:
sudo nano /etc/mysql/my.cnf
设置wait_timeout = 600
秒数(当错误2006消失时你可以调整/减小这个值),然后sudo /etc/init.d/mysql restart
.我没有检查,但wait_timeout的默认值可能是28800秒(8小时)左右.服务器丢弃了不正确或过大的数据包.如果mysqld获取的数据包太大或不正确,则会假定客户端出现问题并关闭连接.您可以通过增加my.cnf文件中max_allowed_packet的值来增加最大数据包大小限制.在Debian上:
sudo nano /etc/mysql/my.cnf
,设置max_allowed_packet = 64M
(当错误2006消失时你可以调整/减小这个值),然后sudo /etc/init.d/mysql restart
.
编辑:
请注意,MySQL选项文件没有其命令可用作注释(例如,在php.ini中).因此,您必须键入任何更改/调整my.cnf
或my.ini
将它们放在mysql/data
目录或任何其他路径中,在适当的选项组下,例如[client]
,[myslqd]
...等,例如:
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
然后重新启动服务器.要获取它们的值,请键入控制台:
select @@wait_timeout;
select @@max_allowed_packet;
sal*_*nga 91
对我来说,这个解决方案没有成功,所以我执行了
SET GLOBAL max_allowed_packet=1073741824;
Run Code Online (Sandbox Code Playgroud)
在我的SQL客户端中.
如果无法在运行MYSql服务时更改此设置,则应停止该服务并更改"my.ini"文件中的变量.
例如:
max_allowed_packet=20M
Run Code Online (Sandbox Code Playgroud)
Dae*_*aos 19
如果您使用默认值运行,那么您有很大的空间来优化您的mysql配置.
我建议的第一步是将max_allowed_packet增加到128M.
然后下载MySQL Tuning Primer脚本并运行它.它将为您的配置的几个方面提供建议,以获得更好的性能.
还要考虑在MySQL和PHP中调整超时值.
您要导入的文件有多大(文件大小),是否可以使用mysql命令行客户端而不是PHPMyAdmin导入文件?
小智 18
如果您正在使用XAMPP,那么您可以修复MySQL服务器已经消失了以下更改的问题.
打开你的my.ini文件my.ini位置是(D:\ xampp\mysql\bin\my.ini)
更改以下变量值
max_allowed_packet = 64M
innodb_lock_wait_timeout = 500
Run Code Online (Sandbox Code Playgroud)
小智 8
如果在OS X上使用MAMP,则需要更改max_allowed_packet
MySQL模板中的值.
您可以在以下位置找到它:文件>编辑模板> MySQL my.cnf
然后只需搜索max_allowed_packet
,更改值并保存.
希望这有助于某人.
小智 6
我用这个简短的/etc/mysql/my.cnf文件解决了我的问题:
[mysqld]
wait_timeout = 600
max_allowed_packet = 100M
Run Code Online (Sandbox Code Playgroud)
小智 5
这可能发生的另一个原因是内存不足.检查/ var/log/messages并确保my.cnf未设置为导致mysqld分配的内存超过机器的内存.
您的mysqld进程实际上可以被内核杀死,然后由"safe_mysqld"进程重新启动,而您却没有意识到这一点.
使用top并在运行时观察内存分配,以查看您的余量是多少.
在更改之前备份my.cnf.
小智 5
我在16 GB SQL文件中导入时出现此错误和其他相关错误.对我来说,编辑my.ini并在[mysqld]部分中设置以下内容(基于几个不同的帖子):
max_allowed_packet = 110M
innodb_buffer_pool_size=511M
innodb_log_file_size=500M
innodb_log_buffer_size = 800M
net_read_timeout = 600
net_write_timeout = 600
Run Code Online (Sandbox Code Playgroud)
如果您在Windows下运行,请转到控制面板,服务,查看MySQL的详细信息,您将看到my.ini的位置.然后在编辑并保存my.ini之后,重新启动mysql服务(或重新启动计算机).
如果您使用的是HeidiSQL,您还可以使用它设置部分或全部.
归档时间: |
|
查看次数: |
247819 次 |
最近记录: |