Skip to main content

Posts

Showing posts from September, 2020

Mysql/MariaDB Recovery.

[DB_NAME]: DB-name to recovery. /dev/shm Usage: First, check your memory if you can use shm directory.   For recovery speed, I use /dev/shm/ directory. Process flow. 01. Stop DB  service mysqld stop 02. Stop web-service. (If you don't use, block DB-connection by using firewall-cmd.)  service httpd stop 03. Change DB-mode on server.cnf   set innodb_force_recovery = 5 on /etc/my.cnf.d/server.cnf 04. Start DB for recovery.  service mysqld start 05. Run DB-dump.  mysqldump -u root -p --databases [DB_NAME] > /dev/shm/[DB_NAME].sql 06. Stop DB  service mysqld stop 07. Change DB-mode on server.cnf (normal mode)  set innodb_force_recovery = 0 on /etc/my.cnf.d/server.cnf 08. Backup old DB-files. (Run follows if you necessarily need backup.)  mkdir /backup/DB_BackupTmp  mv /backup/DB/ibdata1 /backup/DB_BackupTmp  mv /backup/DB/ib_logfile0 /backup/DB_BackupTmp  mv /backup/DB/ib_logfile1 /backup/DB_BackupTmp  mv /backup/DB/[DB_NAME] /backup/DB_BackupTmp 09. Start DB  service mysqld start 10

[redmine] repository trouble shooting

 1) Timeout occurs when deleting repository.    Check queries by using processlist.   "show processlist;" 2) If the reason of that case is timeout, set follows.  show variables like '%timeout';  set global innodb_lock_wait_timeout=300;  set session innodb_lock_wait_timeout=300;  If you necessary, kill process to restart process.     "kill <id>;" 3) Check if you have dummy data. SELECT changesets.repository_id FROM changesets WHERE changesets.repository_id NOT IN (SELECT id from repositories) group by changesets.repository_id ; Do A or B. * A DELETE FROM changes WHERE changes.changeset_id IN (SELECT changesets.id FROM changesets WHERE changesets.repository_id NOT IN (SELECT id from repositories)); DELETE FROM changesets WHERE changesets.repository_id NOT IN (SELECT id from repositories); * or B (415 = your target repository id) DELETE FROM changes WHERE changes.changeset_id IN (SELECT changesets.id FROM changesets WHERE changesets.repository_id = 415);