mysql是每个互联网从业者不能避免的都要使用的数据库,在使用过程中难免会遇到各种各种各样的问题,下面就把我自己遇到的问题记录下来。
一 远程连接
1.报错:“ 你的主机名 is not allowed to connect to this MySQL server”。
原因:安装mysql Server 不允许远程登登录。
解决方案:
(1).远程linux系统。
登录mysql
mysql -u root -p 密码
执行
use mysql
修改主机
update user set host = '%' where user = 'root';
刷新
FLUSH PRIVILEGES;
接下来再次连接,就能连接成功了。
(2)局域网内其他window系统。
在mysql server 所在机器上安装mysql Server客户,这里我用的是navicat。
安装好之后,输入ip,端口,用户名,密码等,连接上数据库。(这一步是前提,要是这里都连不上,下面就不用进行了)。
点击“用户”,编辑 root@localhost 这个用户的信息,点击”编辑用户“ ,如下图:
把这里的“主机”对应的值,由 localhost 改为 % ,如下图所示:
接着在sql查询框中输入 FLUSH PRIVILEGES 并执行,如下图:
接下来在其他机器上,用mysql客户端工具就能连接成功了。
二,执行操作时
1. 报错"MySQL server has gone away"
在执行一个insert语句时,由于插入的某个字段值太大,导致报的这个错误。
原因:mysql中max_allowed_packet默认值太小,只需要相应调大该项的值之后再次导入便能成功。该项的作用是限制mysql服务端接收到的包的大小,因此如果导入的文件过大则可能会超过该项设置的值从而导致导入不成功。
-- 查看max_allowed_packet的大小
show global variables like 'max_allowed_packet';
-- 设置max_allowed_packet值为150MB,单位时bit,
set global max_allowed_packet=157286400;
再重新执行,就可以成功了!
参考资料:https://blog.csdn.net/qq_39781497/article/details/81302950