SELECT
table_schema AS 'データベース名',
SUM(data_length + index_length) AS '合計サイズ(バイト)',
SUM(data_length) AS 'データサイズ(バイト)',
SUM(index_length) AS 'インデックスサイズ(バイト)',
-- 人が読みやすいようにメガバイト(MB)やギガバイト(GB)でも表示
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS '合計サイズ(MB)',
ROUND(SUM(data_length) / 1024 / 1024 / 1024, 2) AS '合計サイズ(GB)'
FROM
information_schema.TABLES
WHERE
table_schema = '調べたいデータベース名' -- ここにサイズを知りたいデータベース名を入力してください
GROUP BY
table_schema;
SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE ', @COLLATE, ';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = @DATABASE_NAME
AND TABLE_TYPE = 'BASE TABLE';
MySQLから抜ける
EXIT
メンテナンスモードの解除を実行
Nextcloudのルートディレクトリ移動
cd /var/www/html/nextcloud && pwd
自分の環境に合わせます。(筆者環境/home/www-data/nextcloud)
メンテナンスモード無効化
sudo -u www-data php occ maintenance:mode --off
メンテナンスモード確認
運用中のNextcloudのURLにアクセスし、普通にアクセスできることを確認します。
切り戻し
何か不具合があった場合の切り戻し手順です。上記、メンテナンスモードを有効化してから行ってください。
バックアップしたDBがあることを再確認する
ls -l /hoge/nextcloud_backup.$(date +%Y%m%d).sql
バックアップを行ったディレクトリを指定します。
head -100 /hoge/nextcloud_backup.$(date +%Y%m%d).sql
ファイルがあること、平文で読めることを確認します。
管理者権限でMySQLにログインする
mysql -u root -p
対象のDBを確認する
SHOW DATABASES;
nextcloudが動いているDBであることを再確認してください。
不具合が発生したDBを削除する
二回ほど深呼吸して、落ち着いて作業しましょう。
DROP DATABASE nextcloud;
DBを再作成する
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MySQLから抜ける
EXIT
DB復元
mysql -h localhost -u nextcloud -p nextcloud < /hoge/nextcloud_backup.$(date +%Y%m%d).sql
cd /var/lib
# Redmineが格納されているディレクトリの親ディレクトリに移動します
ls -ld redmine
# 退避対象のディレクトリがあることを確認します
sudo mv redmine redmine_$(date +%Y%m%d)
ls -ld redmine_$(date +%Y%m%d)
apache停止
ここでWebサービスを停止するのは、DBを削除するためです。
systemctl status apache2.service
sudo systemctl stop apache2.service
systemctl status apache2.service
DB削除
慎重に行って下さい。
sudo mysql -u root -p
show databases;
/* redmineのDBがあることを確認 */
drop database redmine;
show databases;
/* redmineのDBがないことを確認 */
CREATE DATABASE redmine character set utf8mb4;
show databases;
/* redmineのDBがあることを確認 */
exit
CREATE DATABASE piwigo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'piwigo_user'@'localhost' IDENTIFIED BY 'パスワード';
/* パスワードは任意のものを設定します */
GRANT ALL ON piwigo.* TO 'piwigo_user'@'localhost';
GRANT RELOAD ON *.* TO 'piwigo_user'@'localhost';
/* 後の運用を考えて、dumpが取得できるようにします */
FLUSH PRIVILEGES;
EXIT;
apache設定
バーチャルファイル作成
ServerName
ドメイン
格納場所(ログ含む)
SSL証明書及び秘密鍵格納位置
は自分の環境に合わせてください。
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/piwigo.conf
<VirtualHost _default_:80>
ServerName album.example.com
# 公開するサーバのドメイン名を指定
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName album.example.com
CustomLog /var/log/apache2/piwigo_access.log combined
ErrorLog /var/log/apache2/piwigo_error.log
# ログの格納先を指定を指定
DocumentRoot /var/www/html/piwigo
<Directory /var/www/html/piwigo>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
# DocumentRootは実際に配置したディレクトリを指定
SSLEngine on
Protocols h2 http/1.1
Header always set Strict-Transport-Security "max-age=63072000"
SSLCertificateFile /etc/certs/example.com.crt
SSLCertificateKeyFile /etc/private/example.com.key
# 証明書と秘密鍵のパスを指定
</VirtualHost>
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
__EOF__
バーチャルファイル有効化
sudo a2ensite piwigo.conf
設定反映
sudo apache2ctl configtest
# Syntax OKを確認します
sudo systemctl restart apache2.service
systemctl status apache2.service
# active (running)を確認します
As reported in issue #12, the plugin "mega_calendar" ist not compatible with this plugin due to an issue with the provided users_controller_path.rb file.
Internal Error An error occured on the page you were trying to access. If you continue to experience problems please contact your Redmine administrator for assistance. If you are the Redmine administrator, check your log files for details about the error.