Приветствую Вас, Гость! Регистрация RSS

Мой сайт

Четверг, 19.09.2024
Главная » Шкатулка » programming » базы

seo [4] php [6] языки прг [3] телефоны [4]
базы [6] js [2] програмки [4] web-site [15]
web примеры, шаблоны, дизайн

mySQL
12.01.2012, 12:06
вход в mySQL:
mysql -u root -p

настройка

ubuntu:
/etc/mysql/my.cnf

управление сервером
/etc/init.d/mysql [restart|start|stop]

Увлечение загружаемых файлов в mySQL

myisam_max_extra_sort_file_size. Если размер временного файла, используемого для быстрого создания индексов, превышает на указанный здесь объем используемый кэш ключей, то лучше отдать предпочтение методу кэша ключей. Такой метод применяется для того, чтобы для больших ключей символов в больших таблицах использовался более медленный метод кэширования ключей при создании таблиц. Обратите внимание: значение этого параметра задается в мегабайтах!
myisam_max_sort_file_size Максимальный размер временного файла, который в MySQL может использоваться при восстановлении индекса (во время работы команд REPAIR, ALTER TABLE или LOAD DATA INFILE). Для файлов, размер которых превышает указанное значение, индекс будет создаваться при помощи кэша ключей (такой алгоритм работает несколько медленнее). Обратите внимание: значение этого параметра задается в мегабайтах!
max_allowed_packet Максимальный размер одного пакета. Изначально размер буфера сообщений устанавливается в net_buffer_length байтов, но при необходимости может возрасти до max_allowed_packet байтов. Это значение по умолчанию не настолько велико, чтобы отсеивать большие (возможно ошибочные) пакеты. Если используются большие столбцы BLOB, его необходимо увеличить. Значение должно быть не меньше самого большого BLOB, который будет использоваться. Ограничение протокола для max_allowed_packet составляет 16 Мб в MySQL 3.23 и 2Гб в MySQL 4.0.

php_value post_max_size 50M

Для того, чтобы загружать файлы больших размеров в PHP, надо исправить настройки интерпритатора PHP. Существуют 4 настройки, влияющие на максимальный допустимый размер загружаемого файла:

    max_execution_time - максимальное время, которое может выполняться скрипт. Как правило, стоит 30-60 секунд.
    max_input_time - максимальное время, в течение которого могут приниматься данные на сервер. Здесь также стоит порядка 30-60 секунд.
    upload_max_filesize - максимальный размер файла, который допускается для загрузки на сервер. Ключевая настройка, однако, вопреки общему заблуждению, далеко не единственная необходимая для загрузки больших файлов в РHP.
    post_max_size - максимальный размер отправляемых данных.

Фактически, чтобы загружать большие файлы в PHP, нужно исправить все 4 настройки. Делается это с помощью файла .htaccess, в который нужно добавить следующие строки (безусловно, значения можно менять на свои):
php_value max_execution_time 500
php_value max_input_time 500
php_value upload_max_filesize 30M
php_value post_max_size 30M

Почему все 4 опции так важны:

    max_execution_time - здесь нужно поставить время, за которое должен успеть загрузиться файл. Очевидно, что файл размеров 30 МБ вряд ли загрузится за 30-60 секунд, поэтому безусловно, это время надо увеличивать.
    max_input_time - аналогично с max_execution_time. Ведь если первые 60 секунд будут приниматься данные, а потом перестанут, то вновь файл не успеет загрузиться.
    upload_max_filesize - эту опцию меняют все и без проблем, однако, когда ничего не меняется - удивляются, а ведь она хоть и является ключевой, но, тем не менее, другие три так же очень важны.
    post_max_size - максимальный размер отправляемых данных так же очевиден, ведь если файл большого размера, то он не сможет полностью отправиться из-за этого ограничения.

upload_max_filesize < post_max_size < memory_limit
------------
у меня к сожалению таких строк не была, возможно не там искал. Но проблему решил следующе, в файле C:\WebServers\u sr\local\php5\p hp.ini

нужно была изменить следующие параметры на требуемые:
; Maximum size of POST data that PHP will accept.
post_max_size = 8M

; Maximum allowed size for uploaded files.
upload_max_file size = 2M

И самое главное спасибо автору за статью, очень полезная информация, статью копирнул себе на комп, как шпоргалку)))
Цитировать
 
 
+1 #1 18.02.2011 14:30
Все отлично работает, главное не забыть подправить php.ini поля memory_limit, post_max_size

=============
Как изменить максимально допустимый размер импорта файла sql в базе данных Mysql.

Для этого нужен доступ к папке \usr\local\mysql-5.1\ на сервере (или на локальном сервере denver).

По умолчанию у вас установлен Максимально допустимый размер загружаемого файла 2 MB.

По этому пути \usr\local\mysql-5.1\ открываем файл конфигурации my.cnf.

Раскомментируйте следующие строки, если вы хотите изменить
настройки InnoDB по умолчанию.
#
#innodb_data_home_dir = /usr/local/mysql-5.1/var/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql-5.1/var/
#innodb_log_arch_dir = /usr/local/mysql-5.1/var/
# Вы можете установить .._buffer_pool_size размером до 50 - 80 %
# оперативной памяти, но опасайтесь перерасхода
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M - здесь меняем до нужного размера!
#Устанавливайте .._log_file_size to 25 % от _buffer_pool_size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout = 50

Затем перезагружаем сервер и весело работаем с импортом больших sql файлов.
Добавил: adminprg | | Теги: Mysql
Просмотров: 1098 | Рейтинг: 0.0/0