MySql 导入数据库出错 max_allowed_packet

2016年8月5日 0 条评论 1.71k 次阅读 0 人点赞

   

直接用phpmyadmin导入备份数据库的时候,由于文章篇幅过长或者早期部分文章中的图片使用base64编码储存,导致文章sql语句内容大于最大允许值,此时解决办法:

登录数据库,用source导入数据库:

mysql> use sevenfal;
Database changed
mysql> source /root/sevenfal.sql;
Query OK, 0 rows affected (0.00 sec)

Query OK, 589 rows affected (0.04 sec)
Records: 589  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)
mysql>

修改max_allowed_packet值:

  • 直接修改配置文件:

  • [root@18d ~]# mysql --help | grep my.cnf
                          order of preference, my.cnf, $MYSQL_TCP_PORT,
    /etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
    [root@18d ~]# find / -name "my.cnf" |xargs grep max_allowed_packet
    /etc/my.cnf:max_allowed_packet = 1M
    /etc/my.cnf:max_allowed_packet = 16M

    vi /etc/my.cnf

    [client]
    #password       = your_password
    port            = 3306
    socket          = /tmp/mysql.sock
    
    [mysqld]
    port            = 3306
    socket          = /tmp/mysql.sock
    datadir = /usr/local/mysql/var
    skip-external-locking
    key_buffer_size = 16M
    max_allowed_packet = 8M
    table_open_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M
    thread_cache_size = 8
    query_cache_size = 8M
    tmp_table_size = 16M
    
    #skip-networking
    /max_allowed_packet
  • 在mysql命令行中修改:

  • #进入mysql server
    #在mysql 命令行中运行
    mysql> set global max_allowed_packet = 8*1024*1024*10
    #然后关闭掉这此mysql server链接,再进入。
    mysql> show VARIABLES like '%max_allowed_packet%';
    +--------------------------+------------+
    | Variable_name            | Value      |
    +--------------------------+------------+
    | max_allowed_packet       | 8388608    |
    | slave_max_allowed_packet | 1073741824 |
    +--------------------------+------------+
    2 rows in set (0.00 sec)
    
    #查看下max_allowed_packet是否编辑成功

    然后就可以在phpmyadmin中直接导入了

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)