Mysql
如何讓 mariadb tokudb 將其所有文件放在每個數據庫的目錄中
有沒有辦法讓 tokudb 將它為數據庫創建的所有文件放入子目錄中。
當我開始使用 tokudb 時,我發現最煩人的事情是它把它的所有文件都放到了 MySQL 根數據庫目錄中。
這使得很難看到哪些文件屬於哪個數據庫,也很難看到每個數據庫模式使用了多少空間。
ll /srv/mysql/data/ -rw-rw----. 1 mysql mysql 16384 Apr 5 17:36 aria_log.00000001 -rw-rw----. 1 mysql mysql 52 Apr 5 17:36 aria_log_control drwx------. 2 mysql mysql 4096 Apr 10 15:09 graphite drwx------. 2 mysql mysql 165 Apr 10 15:09 graphite2 -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_mygraph_key_account_mygraph_83a0eb3f_3c3_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_mygraph_main_3c3_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_account_mygraph_status_3c3_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_profile_key_user_id_3ce_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_profile_main_3ce_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 6 15:54 _graphite_account_profile_status_3ce_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_variable_key_account_variable_83a0eb3f_3db_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_variable_main_3db_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_account_variable_status_3db_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_view_key_account_view_83a0eb3f_3e6_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_view_main_3e6_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_account_view_status_3e6_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_window_key_account_window_2e1a1398_3f1_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_account_window_main_3f1_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_account_window_status_3f1_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_group_key_name_3fc_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_group_main_3fc_2_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_group_permissions_key_auth_group_permissions_0e939a4f_407_4_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_group_permissions_key_auth_group_permissions_8373b171_407_5_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_group_permissions_key_auth_group_permissions_group_id_0cd325b0_uniq_407_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_group_permissions_main_407_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_auth_group_permissions_status_407_1_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_auth_group_status_3fc_1_1d.tokudb -rw-rw----. 1 mysql mysql 16896 Apr 6 11:58 _graphite_auth_permission_key_auth_permission_417f1b1c_419_1_1d_B_2.tokudb -rw-rw----. 1 mysql mysql 16896 Apr 6 11:58 _graphite_auth_permission_key_auth_permission_content_type_id_01ab375a_uniq_419_1_1d_B_1.tokudb -rw-rw----. 1 mysql mysql 16896 Apr 6 11:58 _graphite_auth_permission_main_419_1_1d_B_0.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_auth_permission_status_412_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_groups_key_auth_user_groups_0e939a4f_42c_5_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_groups_key_auth_user_groups_e8701ad4_42c_4_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_groups_key_auth_user_groups_user_id_94350c0c_uniq_42c_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_groups_main_42c_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_auth_user_groups_status_42c_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_key_username_41f_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_main_41f_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 6 15:54 _graphite_auth_user_status_41f_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_user_permissions_key_auth_user_user_permissions_8373b171_437_5_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_user_permissions_key_auth_user_user_permissions_e8701ad4_437_4_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_user_permissions_key_auth_user_user_permissions_user_id_14a6b632_uniq_437_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_auth_user_user_permissions_main_437_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_auth_user_user_permissions_status_437_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_dashboard_main_442_2_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_dashboard_owners_key_dashboard_dashboard_owners_83a0eb3f_44c_5_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_dashboard_owners_key_dashboard_dashboard_owners_a6b0b808_44c_4_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_dashboard_owners_key_dashboard_dashboard_owners_dashboard_id_f37e04b7_uniq_44c_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_dashboard_owners_main_44c_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_dashboard_dashboard_owners_status_44c_1_1d.tokudb -rw-rw----. 1 mysql mysql 16384 Apr 6 11:58 _graphite_dashboard_dashboard_status_442_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_template_main_457_2_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_template_owners_key_dashboard_template_owners_74f53564_461_4_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_template_owners_key_dashboard_template_owners_83a0eb3f_461_5_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_template_owners_key_dashboard_template_owners_template_id_e47a75a7_uniq_461_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_dashboard_template_owners_main_461_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_dashboard_template_owners_status_461_1_1d.tokudb -rw-rw----. 1 mysql mysql 16384 Apr 6 11:58 _graphite_dashboard_template_status_457_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_django_admin_log_key_django_admin_log_417f1b1c_46c_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_django_admin_log_key_django_admin_log_e8701ad4_46c_4_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_django_admin_log_main_46c_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_django_admin_log_status_46c_1_1d.tokudb -rw-rw----. 1 mysql mysql 16896 Apr 6 11:58 _graphite_django_content_type_key_django_content_type_app_label_76bd3d3b_uniq_47e_1_1d_B_1.tokudb -rw-rw----. 1 mysql mysql 16896 Apr 6 11:58 _graphite_django_content_type_main_47e_1_1d_B_0.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_django_content_type_status_477_1_1d.tokudb -rw-rw----. 1 mysql mysql 16896 Apr 6 11:58 _graphite_django_migrations_main_48b_1_1d_B_0.tokudb -rw-rw----. 1 mysql mysql 16384 Apr 6 11:58 _graphite_django_migrations_status_484_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_django_session_key_django_session_de54fa62_491_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_django_session_main_491_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_django_session_status_491_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_events_event_main_49b_2_1d.tokudb -rw-rw----. 1 mysql mysql 16384 Apr 6 11:58 _graphite_events_event_status_49b_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_tagging_taggeditem_key_tagging_taggeditem_417f1b1c_4b1_5_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_tagging_taggeditem_key_tagging_taggeditem_76f094bc_4b1_6_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_tagging_taggeditem_key_tagging_taggeditem_af31437c_4b1_4_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_tagging_taggeditem_key_tagging_taggeditem_tag_id_3d53f09d_uniq_4b1_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_tagging_taggeditem_main_4b1_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_tagging_taggeditem_status_4b1_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_tagging_tag_key_name_4a6_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_tagging_tag_main_4a6_2_1d.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 14:54 _graphite_tagging_tag_status_4a6_1_1d.tokudb -rw-rw----. 1 mysql mysql 6160384 Apr 10 15:06 _graphite_tags_series_key_hash_4c3_1_1d_B_1.tokudb -rw-rw----. 1 mysql mysql 7929856 Apr 10 15:06 _graphite_tags_series_main_4c3_1_1d_B_0.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 15:06 _graphite_tags_series_status_4bc_1_1d.tokudb -rw-rw----. 1 mysql mysql 442368 Apr 10 15:06 _graphite_tags_seriestag_key_tags_seriestag_76f094bc_4d6_1_1d_B_3.tokudb -rw-rw----. 1 mysql mysql 507904 Apr 10 15:06 _graphite_tags_seriestag_key_tags_seriestag_a08cee2d_4d6_1_1d_B_2.tokudb -rw-rw----. 1 mysql mysql 507904 Apr 10 15:06 _graphite_tags_seriestag_key_tags_seriestag_b0304493_4d6_1_1d_B_4.tokudb -rw-rw----. 1 mysql mysql 524288 Apr 10 15:06 _graphite_tags_seriestag_key_tags_seriestag_series_id_ad31c493_uniq_4d6_1_1d_B_1.tokudb -rw-rw----. 1 mysql mysql 901120 Apr 10 15:06 _graphite_tags_seriestag_main_4d6_1_1d_B_0.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 15:06 _graphite_tags_seriestag_status_4cf_1_1d.tokudb -rw-rw----. 1 mysql mysql 1179648 Apr 10 15:06 _graphite_tags_tagvalue_key_value_4f0_1_1d_B_1.tokudb -rw-rw----. 1 mysql mysql 1736704 Apr 10 15:06 _graphite_tags_tagvalue_main_4f0_1_1d_B_0.tokudb -rw-rw----. 1 mysql mysql 65536 Apr 10 15:06 _graphite_tags_tagvalue_status_4e9_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _graphite_url_shortener_link_main_4f8_2_1d.tokudb -rw-rw----. 1 mysql mysql 16384 Apr 6 11:58 _graphite_url_shortener_link_status_4f8_1_1d.tokudb -rw-rw----. 1 mysql mysql 79691776 Apr 10 02:38 ibdata1 -rw-rw----. 1 mysql mysql 50331648 Apr 10 02:38 ib_logfile0 -rw-rw----. 1 mysql mysql 50331648 Apr 10 02:36 ib_logfile1 drwx------. 2 mysql mysql 4096 Apr 6 11:58 kanboard -rw-rw----. 1 mysql mysql 16896 Apr 6 11:58 _kanboard_settings_main_549_1_1d_B_0.tokudb -rw-rw----. 1 mysql mysql 16384 Apr 6 11:58 _kanboard_settings_status_543_1_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _kanboard_user_has_notifications_key_user_has_notifications_ibfk_2_569_3_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _kanboard_user_has_notifications_main_569_2_1d.tokudb -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 _kanboard_user_has_notifications_status_569_1_1d.tokudb -rw-------. 1 mysql mysql 26236353 Apr 10 15:09 log000000000006.tokulog29 drwx------. 2 mysql mysql 119 Apr 6 11:58 maxscale_schema -rw-rw----. 1 mysql mysql 0 Apr 5 17:39 multi-master.info drwx------. 2 mysql root 4096 Apr 6 09:59 mysql drwx------. 2 mysql mysql 20 Apr 5 17:36 performance_schema -rw-rw----. 1 mysql mysql 6 Apr 5 17:39 platformdb-isa-01.pid -rw-rw----. 1 mysql mysql 32768 Apr 6 11:58 tokudb.directory -rw-rw----. 1 mysql mysql 16384 Apr 5 17:22 tokudb.environment -rw-------. 1 mysql mysql 0 Apr 5 17:22 __tokudb_lock_dont_delete_me_data -rw-------. 1 mysql mysql 0 Apr 5 17:22 __tokudb_lock_dont_delete_me_environment -rw-------. 1 mysql mysql 0 Apr 5 17:22 __tokudb_lock_dont_delete_me_logs -rw-------. 1 mysql mysql 0 Apr 5 17:22 __tokudb_lock_dont_delete_me_recovery -rw-------. 1 mysql mysql 0 Apr 5 17:22 __tokudb_lock_dont_delete_me_temp -rw-rw----. 1 mysql mysql 32768 Apr 10 15:06 tokudb.rollback
您可以通過設置伺服器變數“tokudb_dir_per_db”來做到這一點
它在 precona 中預設開啟,但在 MariaDB 中沒有。
MariaDB [(none)]> select @@tokudb_dir_per_db; +---------------------+ | @@tokudb_dir_per_db | +---------------------+ | 0 | +---------------------+ MariaDB [(none)]> set global tokudb_dir_per_db = 1; MariaDB [(none)]> select @@tokudb_dir_per_db; +---------------------+ | @@tokudb_dir_per_db | +---------------------+ | 1 | +---------------------+
一定要把它放在你所有的奴隸身上。
修復已經在 mysql 數據根目錄中包含所有文件的現有數據庫。您需要將所有表重命名為不同的數據庫名稱。
MariaDB [(none)]> create database tmp_rename
然後將表重命名為臨時數據庫並將表重命名。這應該需要幾分鐘,具體取決於需要重命名的文件數量。您應該有一個工作數據庫,而您的應用程序不需要任何配置更改。
mysql graphite -sNe 'show tables' | while read table; do mysql -sNe "rename table graphite.$table to tmp_rename.$table"; done mysql tmp_rename -sNe 'show tables' | while read table; do mysql -sNe "rename table tmp_rename.$table to graphite.$table"; done