MySQL -də LOAD_FILE problemi

Salamlar. Mysql -də 1.5 mb-a qədər faylları LOAD_FILE ilə bazaya yazmaq olur. Amma ondan böyük fayllar yazılmır. table column -un tipini longblob vermişəm, yenə də xeyri yoxdur. 
Necə etmək olar ki, böyük həcmli fayllar da yazılsın?


Yadda saxlama
Kateqoriya: Sual . , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (6 cavab var)

(13:48, 02/03/2013 ) #27887

Yenə də, siz sualı yerləşdirmədən əvvəl problemin həllini tapdım.
my.cnf faylında connector -da düzəliş etmək lazımdır.


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip-locking
key_buffer = 384M
max_allowed_packet = 100M
table_cache = 512
sort_buffer_size = 200M
read_buffer_size = 200M
read_rnd_buffer_size = 80M
myisam_sort_buffer_size = 64M
thread_cache_size = 80
query_cache_size = 320M

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(15:12, 02/03/2013 ) #27891

Connector nəyə deyirsən anlamadım. Amma hazırki problemdə max_allowed_packet = 16M olması problemi həll edir. LONGBLOB üçün 16 mb standartdır. Bundan böyük ölçüləri insert etmək olmayacaq. Yəni, Buffer 16 mb-dan artıq insert götürməyəcək, baxmayaraq ki LONGBLOB 4gb saxlaya bilir.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (15:26, 02/03/2013 ) #27892

    Xeyir, mən my.cnf -də connector -a əlavələr etdim, 94 mb-lıq faylı da insert etmək mümkündür. (test etdim, işləyir)
    Connector dediyim isə my.cnf -faylındakı [mysqld] başlığı altında yazılmış konfiqurasıyadır.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(17:23, 02/03/2013 ) #27895

blob

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (10:34, 04/03/2013 ) #27931

    niye fayl mysql de saxlanilmaldir ki?! Neye gore ? Orda unvani saxlamaq daha optimaldir mence..

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(15:53, 09/03/2013 ) #28093

[mysqld] kataloquna connector deyildiyini birinci dəfədir eşidirəm. server startup olunanda məhz bu kataloq altında olan istənilən dəyişənləri oxuyur.

Bundan əlavə bilmirəm siz bu həlləri hardan tapmısınız amma dəhşətli dərəcədə səhvlər var:
max_allowed_packet=100M yazmısınız. bəli 100m-ə qədər olan fayllar daxil edilə biləcək.
Lakin bu dəyişən per session dəyişəndir. Yani database-e qoşulan hər bir user-ə 100M buffer ayrılacaq…
Bundan əlavə:
sort_buffer_size = 200M
read_buffer_size = 200M
read_rnd_buffer_size = 80M
Həmçinin per session qiymətlərdir. Və təsəvvür edin ki sizin database-e 200 connection olsa 200x200M buffer(RAM)=40GB RAM tələb edəcək 🙂 bu qədər RAM harda var?

Yenə davam etdikdə query_cache_size=320 M… Ümumiyyətlə query_cache-i disable etmək lazım idi siz isə əksinə astranomik bir rəqəm vermisiz buna…

key_buffer = 384M — görülməmiş bir şeydir. MyİSAM index cache-dir bu… eger İnnoDB istifadə edirsinizsə onda ümumiyyətlə bunun faydası yoxdur.

table_cache = 512 — bilmirəm hansı versiya MySQL istifadə edirsiniz ama artıq bu dəyişən deprecate olub. Bunun əvəzinə table_open_cache istifadə etmək lazımdır o da hələ test etdikdən sonra.

Nəticə:
konfiqurasiya faylına etdiyiniz bütün dəyişikləri silin server-i restart edin.
sadəcə GƏRƏK olduqda max_allowed_packet -i dinamik olaraq dəyişin vəssalam.
set @@max_allowed_packet=104857600
əgər global olaraq dəyişmək istəsəniz:
set @@global.max_allowed_packet=104857600
Və google-da tapılan hər şeyi yazmıyın my.cnf-ə əgər database-i crash etmək istəmirsinizsə.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Software Developer cavab verdi - Wise vasitəsilə bank kartına pul köçürmə (7 saat əvvəl)

Software Developer cavab verdi - Rus dilindən mətni tərcümə etmək (23 saat əvvəl)

Cənab cavab verdi - Almanca söz bazası yığmaq (3 gün əvvəl)

rdrobert cavab verdi - Mikrofon süngərinə yazı (4 gün əvvəl)

rdrobert cavab verdi - Yerli virtual olaraq dost tapmaq platforması (4 gün əvvəl)

rdrobert cavab verdi - Almanca söz bazası yığmaq (4 gün əvvəl)

rdrobert cavab verdi - Playstation 4 almaq, Playsation klub açmaq (4 gün əvvəl)

rdrobert cavab verdi - Proqramistin ixtsasi hansidir? (4 gün əvvəl)

Software Developer cavab verdi - Azercell Kabinetim aplikasiyasında İstəSən tarifi haqqında (6 gün əvvəl)

Software Developer cavab verdi - Proqramistin ixtsasi hansidir? (6 gün əvvəl)

byshako cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (16 gün əvvəl)

rdrobert cavab verdi - Honeygain, passiv gelir (17 gün əvvəl)

rdrobert cavab verdi - Xaricdən telefon getirmek (17 gün əvvəl)

rdrobert cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (17 gün əvvəl)

rdrobert cavab verdi - AliExpress, Telefon, Rüsum (17 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 607 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23234 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024