mysql数据库
<h2>1.mysql用Navicat还原sql文件</h2>
<p>问题描述:MySQL 2006-MySQLserver has gone away
解决方案:
windows环境找到安装目录下的my.ini配置文件,加入以下配置:</p>
<pre><code class="language-java">max_allowed_packet=500M
wait_timeout=288000
interactive_timeout = 288000</code></pre>
<p>linux环境修改/etc/my.cnf配置文件,添加以下配置:</p>
<pre><code class="language-java">max_allowed_packet=500M
wait_timeout=288000
interactive_timeout = 288000</code></pre>
<h2>2.导SQL“1153 max_allowed_packet”“ERROR 2006 (HY000)”</h2>
<pre><code class="language-shell">[Err] 1153 - Got a packet bigger than 'max_allowed_packet' bytes
#当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。
vim /etc/my.conf
[mysqld]
max_allowed_packet=1024M</code></pre>
<h2>3.common.c:21:25:致命错误</h2>
<pre><code class="language-shell">#安装Fastdfs的Nginx时提示“/usr/local/fdfs/fastdfs-nginx-module/src//common.c:21:25:致命错误:fdfs_define.h:没有那个文件或目录 编译中断。”
编译安装fastdfs-nginx-module时默认保存在/usr/include目录。
修复:ln -s /usr/include/fast* /usr/local/include/</code></pre>
<h2>4.Mysql2013连接错误:Lost connection to Mysql server at 'waiting for initial communication packet</h2>
<pre><code class="language-shell">原因:mysql开启了DNS的反向解析功能,这样mysql对连接的客户端会进行DNS主机名查找。也可能是防火墙没开数据库端口,也会报2013
# 方法一
把client的ip写在mysql服务器的/etc/hosts文件里,随便给个名字做主机映射即可
# 方法二
在my.cnf配置文件中的[mysqld]区域添加 skip-name-resolve(禁用dns解析)。即跳过mysql连接的DNS反向解析功能,这样能很好地提高mysql性能。在这种情况下,就只能使用MySQL授权表中的IP来连接mysql服务了。
ps:如果在my.cnf文件中配置了bind-address地址绑定的地址,说明别的机器远程只能通过这个绑定的本机地址来连接mysql
例如:
bind-address = 127.0.0.1 //说明只能在本机连接mysql,并且通过-h 127.0.0.1或localhost,在远程是无法连接这个mysql的
#原文链接:https://blog.csdn.net/qq_33862644/article/details/83143837</code></pre>
<h2>5.找不到MSVCP120.dll</h2>
<pre><code class="language-shell"># Windows安装MySQL时找不到MSVCP120.dll,无法继续执行代码.重新安装程序可能会解决此问题
因为没有安装微软常用运行库合集64位导致的,点击如下链接
https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
进入微软下载中心,下载vcredist_x64</code></pre>
<h2>6.ERROR 2002 (HY000)</h2>
<pre><code class="language-shell"># 登录MySQL数据库提示:“ERROR 2002 (HY000): 无法通过套接字文件连接本地MySQL”
与其相关的文件my.cnf:socket=/var/lib/mysql/mysql.sock
# 方法一:
find / -name mysql.sock
若能找到修改my.cnf中socket路径即可
# 方法二:
cp -a /risen/soft/database/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
systemctl daemon-reload
systemctl start mysqld
#方法三:终极招
修改my.cnf的socket=/tmp/mysql.sock</code></pre>
<h2>3306修改无效</h2>
<pre><code class="language-shell"># MySQL端口3306被开机命令锁死修改配置文件my.snf无效
编辑mysqld_safe,将开启端口改为需要端口,重启即可</code></pre>