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!

tgrosinger
sumber
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].

xofer
sumber
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.

es tipis
sumber
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 !

carla
sumber
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.

juwi
sumber
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