Yanıtlar:
Üç (3) Seçenek
SEÇENEK 1: MySQL istemcisi içinden
mysql -uroot -A -e"SHOW GLOBAL VARIABLES;" > MySQLCurrentSettings.txt
Bu, tüm seçenekleri metin dosyasına kaydeder.
SEÇENEK 2: Linux komut satırından
ps -ef | grep mysqld | grep -v grep
Bu mysqld ile başlayan seçenekleri mysqld_safe'den ayarlandığı gibi gösterecektir
SEÇENEK 3: Doğrudan Sunucuya Sorun
mysqld --help --verbose
'Mysqld --help --verbose' ekranının alt kısmında, mysqld uygulamasının my.cnf'den yüklendiğini veya varsayılan olarak ayarlandığını göreceksiniz.
Bu talimatlar centos 7.1 hisse senedi için geçerlidir.
Aşağıda, bir makinenin mevcut ayarlarının şimdiki veya gelecekteki yeni bir kuruluma nasıl yedekleneceği veya çoğaltılacağı anlatılmaktadır.
Ayarları kopyalamak istediğimiz makinede şunları çalıştırabiliriz:
/usr/libexec/mysqld --help --verbose > mysql_current_settings.txt
Başka bir makineye mariadb-server'ı kurabilir ve çalıştırabiliriz:
/usr/libexec/mysqld --help --verbose > mysql_default_settings.txt
Sonra her iki dosyayı da bir dizine koyarız, bu örnekte "/ a /" olur.
Sonra koşuyoruz:
comm -3 <(sort /a/mysql_current_settings.txt) <(sort /a/mysql_default_settings.txt)
Çıktı yoksa, iki dosya aynıdır. Bu, her iki makinedeki tüm ayarların varsayılan değerde olduğu anlamına gelir.
Bazı çıktılar varsa, bazı satırlar girintili olmayacak, bazı satırlar girintili olacaktır.
Girintili olmayan satırlar yalnızca /a/mysql_current_settings.txt olan ilk dosyada bulunur.
Girinti satırları yalnızca burada /a/mysql_default_settings.txt olan ikinci dosyada bulunur.
Artık mysqld'yi başlatan komut satırında ayarlanan bazı ayarlar dışında tüm ayarları biliyoruz. Bu ayarlar /etc/my.cnf veya /etc/my.cnf.d/* dosyalarından veya özel bir komut dosyası veya bir diğer ad vb. Gelebilir. Her durumda, bunları aşağıdaki komutla görebiliriz:
ps -ef | grep mysqld
Şimdi yeni bir kurulumda eskisi olarak yapılandırmak için değiştirmek zorunda olduğumuz çok az ayarı biliyoruz.
İşte diğer detayları takip edin.
Centos 7.1'de, aşağıdaki komut mysqld'yi başlatan komut satırında ayarlanan bazı ayarlar dışında tüm geçerli ayarları gösterir:
/usr/libexec/mysqld --help --verbose
Toplamda şunu gösterir:
ilk bölümde, başlattığımızda "mysqld" den sonra ilk parametre olarak kullanabileceğimiz ayarlar;
ikinci bölümde, ayarlar derleme zamanında yapılır;
üçüncü bölümde, geçerli ayarlar.
Çıktının son satırı şunu söylüyor olsa bile: çalışan bir MySQL sunucusunun hangi değerleri kullandığını görmek için şunu yazın:
mysqladmin variables -uroot -p
Bu komut, /etc/my.cnf dosyasında değiştirip mysql'yi yeniden başlatsak bile, fe, bind-address komutunu göstermez.
Ayrıca aşağıdaki komut birçok ayarı gösterir ancak "bağlama adresi" göstermez:
mysql -uroot -p -e"SHOW VARIABLES;"
Centos 7.1'de mysqld'in $ PATH değerinde olmadığını unutmayın.
Geçerli bir my.cnf oluşturmak için benim en sevdiğim yol:
{ echo -e "# MYSQL VARIABLES {{{1\n##\n# MYSQL `mysql -V|sed 's,^.*\(V.*\)\, for.*,\1,'` - By: `logname`@`hostname -f` on `date +%c`\n##"; for l in {a..z}; do echo '#'; mysql -NBe "SHOW GLOBAL VARIABLES LIKE '${l}%'" | sed 's,\t,^= ,' | column -ts^ | tr "\n" '@' | eval $(echo "sed '" "s,@\("{a..u}{a..z}"\),\n\n\1,;" "'") | eval $(echo "sed '" "s,@\(innodb_"{a..z}{a..z}"\),\n\n\1,;" "'") | tr '@' "\n" | sed 's,^,# ,g'; done; echo -e "#\n##\n# MYSQL VARIABLES }}}1"; } | tee ~/mysql-variables.log
Ancak, bu Mac OS X için güvenilir bir şekilde çalışmaz.
Bu, my.cnf'nize aktarmaya hazır, temiz bir değişken günlüğü çıkarır.
Orijinal kaynak: http://www.askapache.com/mysql/view-mysql-variables-my-cnf.html
mysqld -V|sed 's,^.*\(V.*\)\ for.*,\1,'
. Hem istemci hem de sunucu birlikte yüklendiğini düşünüyorum çünkü önemli değil. Amacı {{{1
ve amacı nedir 1}}}
?