https://bobcares.com/blog/database-crash-rescue-how-we-re-built-an-innodb-mysql-database-when-ibdata1-file-was-corrupted/
https://www.percona.com/blog/2014/10/14/recover-orphaned-innodb-partition-tablespaces-in-mysql/
https://tools.percona.com/wizard/
# Generated by Percona Configuration Wizard (http://tools.percona.com/) version REL5-20120208
# Configuration name server generated for at 2017-04-26 15:24:40
[mysql]
# CLIENT #
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysql.pid
# MyISAM #
key-buffer-size = 32M
myisam-recover = FORCE,BACKUP
# SAFETY #
max-allowed-packet = 16M
max-connect-errors = 1000000
# DATA STORAGE #
datadir = /var/lib/mysql/
create user ‘root’@'%' identified by ‘password’; grant ALL PRIVILEGES on *.* to ‘root’@'%' with grant option;
flush privileges;
if error have root@localhost
delete from mysql.user where user=‘root’;
flush privileges;
create user ‘root’@'%' identified by ‘password’;
grant ALL PRIVILEGES on *.* to ‘root’@'%' with grant option;
select user, host from user;
show grants for ‘root’@'%';
FLUSH PRIVILEGES;
=====restore root privileges=====
http://stackoverflow.com/questions/1709078/how-can-i-restore-the-mysql-root-user-s-full-privileges
https://my-netdata.io/
character-set-server = utf8mb4
#tunning
skip_name_resolve = 1
open_files_limit = 65535
max_connect_errors = 1000000
table_open_cache = 1024
table_definition_cache = 1024
#table_open_cache_instances = 64 #MySQL 5.6
sort_buffer_size = 4M
join_buffer_size = 4M
interactive_timeout = 600
wait_timeout = 600
tmp_table_size = 32M
max_heap_table_size = 32M
#master_info_repository = TABLE #MySQL 5.6
#relay_log_info_repository = TABLE #MySQL 5.6
#gtid_mode = on
#enforce_gtid_consistency = 1
read_buffer_size = 8M
read_rnd_buffer_size = 4M
bulk_insert_buffer_size = 64M
lock_wait_timeout = 3600
http://www.uuread.cc/cfaqxcQc.html
Kubernetes具備超強的故障恢復機制,Kubernetes會重啟意外停止的pod。我們曾遇到過因記憶體洩露,導致容器在一天內宕機多次的情況,然而令人驚訝的是,甚至我們自己都沒有察覺到。
資料儲存
以我們的情況,在Kubernetes內執行資料儲存沒有想象中那麼完美,設定起來也比其他Kubernetes部署複雜得多。
於是我們決定不在生產環境資料儲存上使用Kubernetes,而是選擇在不同的機器上手動啟動這些叢集,我們在Kubernetes內部執行的應用正常連線到資料儲存叢集