Мне нужно импортировать БД, весом более 2х гигабайт. При загрузке через phpmyadmin появляется ошибка До этого были другие ошибки, я в конфигах подправил и увеличил время выполнения скрипта и размеры загружаемых файлов, но загрузить дамп все равно не получается
> mysql -u root -pPassword -D db < dump.sql Ну или поделить базу на части или сторонними скриптами ( вроде bigdump ). Или вот: http://docs.phpmyadmin.net/en/latest/config.html#web-server-upload-save-import-directories http://prostoorgru.blogspot.ru/2010/04/mysql-phpmyadmin.html
mysql -h localhost -u username -p databasename < damp.sql Где localhost — это хост сервера базы данных username — логин пользователя базы данных databasename — название базы данных damp.sql - файл бэкапа. Вбиваете эту команду, вводите пароль. Всё должно импортироваться. Если нет, то вы скорее всего увидите внятную причину почему.
Насчет скрипта незнаю, bigdump пробовал? В bigdump как раз Открываешь файл скрипта bigdump.php, в котором отыскиваем и меняем следующие строки на необходимые значения $db_server = ‘localhost’; $db_name = ‘DB_NAME’; $db_username = ‘DB_USER’; $db_password = ‘DB_PASSWORD’; $filename = ‘OUR_DUMP.SQL’; /* Дамп базы данных который мы выгрузили вместе со скриптом*/ $db_connection_charset = ‘Charset’; /*Поскольку мы работаем с русскими базами, то вероятнее всего это utf8 или cp1251*/ После этого открывай в бродилке скрипт хттп://наш-сайт/папка/bigdump.php и видим свой файлец, после чего наживаем на линк Start import
Ошибка обозначает слишком длинный запрос обработки. Решение: Меняем конфигурацию max_allowed_packet. Открывай файл my.cnf(Найти его можно так: Debian (и ее клон ubuntu): /etc/mysql/my.cnf CentOS (или RedHat): /etc/my.cnf) Теперь в разделе [mysqld] дописываем (или изменяем, если уже существует) строчку: Code: max_allowed_packet = 32M где вместо 32M - подставьте нужное Вам значение. По-умолчанию обычно стоит 16M (16*1024*1024). После изменения - перезапустите сервис MySQL. для Debian/ubuntu: Code: $ sudo /etc/init.d/mysql restart для CentOS/RedHat: Code: $ sudo /etc/init.d/mysqld restart для FreeBSD: Code: $ sudo /usr/local/etc/rc.d/mysql-server restart
У меня эти значения следующие port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer = 384M max_allowed_packet = 9999M table_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8 И все равно ничего не получается
Через что импортишь? Если через phpmyadmin, то скорее max_upload_size править надо, а потом не забыть демоны ребутнуть. P.s. С доступом к командной строке, попробуй напрямую, MySQL или зальет или четко ошибку озвучит: mysql --host=localhost --user=user --password=123 database < /path/to/database.sql
Он в php.ini, комп не обязательно перезагружать только httpd. P.s. Извиняюсь что не прочитал предыдущие посты, зашел в тему, думал первая страница.
Вот точные названия переменных: php.ini upload_max_filesize=600M post_max_size=605M max_execution_time=800 max_input_time=800 .htaccess php_value upload_max_filesize 600M php_value post_max_size 600M php_value max_execution_time 800 php_value max_input_time 800 P.s. Только учти что эти параметры не должны превышать значение лимита выделенной памяти для PHP.
php.ini memory_limit = 700M .htaccess php_value memory_limit 700M P.s. Если параметр не определен, значит лимита нет