2017-04-03 2 views
1

Ich habe einen mysqldump von einem Server mit mysql Ver 14.14 Distrib 5.6.35, for Linux (x86_64) using EditLine wrapper CentOS 6 Ich versuche, es auf einen Server zu importieren, die MariaDB mysql Ver 15.1 Distrib 10.1.22-MariaDB, for Linux (x86_64) using readline 5.1 ausgeführt wird, läuft Centos7Zufallssyntaxfehler auf mysql-Import für MariaDB 10.1 von mysqldump mysql 5.6

ich ständig immer einen Syntaxfehler wie diese ERROR 1064 (42000) at line 4908: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '),('5051888098585',2512,131872,359,'Pending','completed','0','1','2016-03-15 17' at line 1

die Zeilennummer zufällig erscheint, wenn ich die Tabellen fallen und die Wiederherstellung starten wieder kann es an einem Punkt nicht wieder vor dieser Zeile oder nach. Manchmal ist es fast zu Ende. Der eine Gedanke, der konstant ist, ist, dass die Zeile immer eine große Einfügeabfrage ist.

Ähnliche Fragen hier lösen nicht mein Problem. Ich habe den Server komplett neu erstellt, mehrere mysqldump Einstellungen und my.cnf Einstellungen geändert, nichts ändert sich.

Aktuelle my.cnf

[mysqld] 
bind-address = :: 
skip_name_resolve 
local-infile=0 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
# Settings user and group are ignored when systemd is used. 
# If you need to run mysqld under a different user or group, 
# customize your systemd unit file for mariadb according to the 
# instructions in http://fedoraproject.org/wiki/Systemd 



max_allowed_packet = 1G 
max_connections = 600 
thread_cache_size = 16 
query_cache_size = 64M 
tmp_table_size= 512M 
max_heap_table_size= 512M 
wait_timeout=60 

#Innodb Settings 
innodb_file_per_table=1 
innodb_buffer_pool_size = 25G 
innodb_log_file_size = 2048M 
innodb_flush_log_at_trx_commit = 0 
innodb_file_format = Barracuda 
innodb_flush_neighbors = 0 

#Log 

log-error =/var/log/error.log 
tmpdir = /dev/shm 

Ich habe Dutzende von verschiedenen Einstellungen für den Import und für die Deponie nichts versucht worked.These die neuesten sind: Für die Deponie

mysqldump -u admin -p`cat /etc/psa/.psa.shadow` --master-data=2 db_name --default-character-set=utf8 -c -Q --result-file=dump.sql 

Für die importieren

mysql -uadmin -p`cat /etc/psa/.psa.shadow` db_name < dump.sql 
+0

Wie viel RAM .. –

+0

@RickJames 32G. –

Antwort

1

Wenn Sie es nicht überschreiben, generieren mysqldump s riesige INSERT Anweisungen, die viele Zeilen gleichzeitig behandeln. Es scheint wahrscheinlich etwas schief läuft auf Ihrer Wiederherstellung wegen der Länge der INSERT Zeilen.

Versuchen Sie, the --net_buffer_length=8192 option auf mysqldump zu verwenden, wenn Sie Ihre Speicherabbilddatei erstellen. Es wird kürzere INSERT Aussagen erzeugen. Ihre Speicherabbilddatei wird länger sein und die Wiederherstellung dauert länger, aber sie wird möglicherweise bis zum Abschluss ausgeführt. Wenn das nicht funktioniert und Sie Zeit haben, versuchen Sie the --skip-opt option, um alle Optimierung zu überspringen.

dies Siehe: How to deal with enormous line lengths created by mysqldump

+0

Danke. Ich habe --net_buffer_length = 8192 verwendet, um den Dump zu exportieren, und er wurde ohne Probleme importiert. –

Verwandte Themen