Meningkatkan ukuran pool buffer InnoDB


11

Saya mengalami kesulitan mengatur ukuran kumpulan buffer dan mencatat ukuran file untuk MySql InnoDB. Saya jauh dari ahli MySql tetapi telah membaca sekitar dan tampaknya untuk mengubah ini saya hanya menambahkan baris ini ke /etc/mysql/my.cnf saya

# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M

Server memiliki sekitar 7GB memori dan juga menjalankan server web jadi saya pikir angka-angka ini harus menjadi titik awal yang baik. Setelah menyimpan dan memulai ulang server, namun tampaknya perubahan itu tidak berpengaruh. Saya mencoba menjalankan Mysqltuner yang melaporkan bahwa buffer pool masih pada 16.0M. Adakah yang saya tahu salah? Beri tahu saya jika Anda ingin melihat lebih banyak file konfigurasi. Terima kasih!


distribusi apa? apakah Anda menggunakan paket distro atau yang lainnya? Bagaimana Anda memulai mysql? Singkatnya, apa yang Anda instal, pada apa Anda menginstalnya, dan bagaimana Anda menginstalnya?
navaho

Ini adalah tumpukan lampu default di atas server Ubuntu x64
tgrosinger

Ada file konfigurasi lain yang terletak di / opt / lampp / etc yang saya percaya akan berfungsi.
tgrosinger

Jawaban:


7

Pastikan garis-garis itu ada di dalam [mysqld]bagian yaitu setelah [mysqld]tetapi sebelum yang lain [section]seperti [mysqldump].


Mereka berada di bagian yang benar, di [mysqld] tepat sebelum [mysqldump]
tgrosinger

2

Periksa log kesalahan MySQL Anda untuk informasi - kemungkinan besar terletak di /var/lib/mysql- juga, apakah ini sistem 32-bit dengan kernel bigmem? Jika demikian, Anda tidak dapat mengatasi lebih dari 2GB untuk MySQL.

Juga - Anda ingin mengonfirmasi dari MySQL sendiri tentang ukuran buffer pool - 16MB terdengar agak mati, mengingat standarnya adalah 128M. Anda dapat mengonfirmasi ini dengan mengetikkan 'SHOW VARIABLES LIKE' innodb_buffer_pool_size 'ke dalam sesi MySQL untuk server itu. Hasilnya dalam byte.


Untuk beberapa alasan saya tidak bisa masuk ke direktori itu. Saya dapat melihatnya ketika saya melakukan ls on / var / lib tetapi ketika saya mencoba untuk menggunakannya, saya mendapatkan "izin ditolak". Jika saya mencoba cd sebagai sudo dikatakan "Tidak ada file atau direktori". Pikiran? Ini adalah instalasi Ubuntu Server 64bit.
tgrosinger

Anda harus memposting my.cnf Anda (/etc/my.cnf atau di debian mungkin
/etc/mysql/my.cnf

Juga - Anda ingin mengonfirmasi dari MySQL sendiri tentang ukuran buffer pool - 16MB terdengar agak mati, mengingat standarnya adalah 128M. Anda dapat mengonfirmasi ini dengan mengetikkan 'SHOW VARIABLES LIKE' innodb_buffer_pool_size 'ke dalam sesi MySQL untuk server itu. Hasilnya dalam byte.
thinice

1
sudo cdtidak akan berfungsi karena sudo membuat subkulit dengan hak istimewa yang tepat dan menutupnya setelah selesai, meninggalkan Anda di tempat Anda mulai. Coba sudo -ssaja.
Ladadadada

Jadi ketika saya menggunakan SHOW VARIABEL SEPERTI ... dikatakan ukuran buffer pool adalah 16777216 yang saya yakini sebenarnya 16M. Inilah my.cnf: hastebin.com/binaqeforu.vala Terima kasih banyak!
tgrosinger

2

Dalam kasus saya masalahnya adalah innodb_buffer_pool_instances.

Karena saya mengurangi innodb_buffer_pool_size, itu menjadi kurang dari satu 1GB per contoh, jadi akhirnya membulatkannya.

Ketika saya juga mengurangi instance , akhirnya mengubah ukuran pool !


0

Mungkin Anda memulai mysql dengan --no-defaults (-no-defaults), yang menyebabkannya tidak memuat konfigurasi sama sekali. Ada juga --defaults-file (atau -default-file, tidak yakin), yang menyebabkannya memuat konfigurasi tertentu. Juga periksa apakah itu untuk konfigurasi yang berbeda dari yang Anda edit.

Anda dapat mencoba memulai dengan:

--innodb_buffer_pool_size=2048M --innodb_log_buffer_size=512M

Atau periksa parameter yang sudah Anda mulai dan lihat apakah salah satunya menyebabkannya menghilangkan konfigurasi.


Bagaimana saya bisa melihat bagaimana memulai di ubuntu? Saya terbiasa melengkung kalau saya hanya akan menambahkannya ke file rc.d, tapi saya tidak melihat yang seperti itu di sini.
tgrosinger

Arch menggunakan BSD Style Init, sedangkan Ubuntu menggunakan SysV Init. Jadi ada file di /etc/init.d untuk memulainya dan mungkin file di / etc / defaults di mana opsi sedang diatur. Dengan menggunakan sesuatu di sepanjang baris 'ps -ef | grep mysql 'Anda dapat melihat opsi apa yang sedang berjalan dengannya.
juwi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.