MySQL source导入sql文件过慢,解决办法

博主100多万条数据,导了好久没有完成,看了mysql配置,设置之后基本能在几分钟完成。

设置连接

mysql -u root -p -h 127.0.0.1
mysql>use test;
Database changed

mysql> set global innodb_flush_log_at_trx_commit=0;
Query OK, 0 rows affected (0.03 sec)

mysql> set global max_allowed_packet=1024*1024*20;
Query OK, 0 rows affected (0.00 sec)

mysql> set global bulk_insert_buffer_size=32*1024*1024;
Query OK, 0 rows affected (0.00 sec)

mysql> set global innodb_buffer_pool_size=32*1024*1024;
Query OK, 0 rows affected, 1 warning (0.09 sec)

>mysql source /root/test.sql

常见问题

  1. 上面设置的参数只在 当前连接和新连接上生效,永久生效请修改my.cnf。实际使用只会在连接上设置,这些参数在生产环境不适合使用,所以导入成功后请 重启使这些设置失效
  2. shell mysql 客户端连接的时候出现
[root@localhost ~]# mysql -u root -p 
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@localhost ~]# 

这是安装的时候出现问题,只会在使用mysql客户端连接时出现,可以指定 -h 127.0.0.1 修改

mysql -u root -p -h 127.0.0.1

你可能感兴趣的:(SQL,常见问题,mysql)