質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

0回答

504閲覧

datadirを書き換えるとMySQLが起動しない

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

1クリップ

投稿2020/09/16 06:11

趣味のコレクションを管理するため、XAMPPを使ってデータベースを構築しています。OSはWindows 10 Home(バージョン:1909 ビルド:18363.1082)、XAMPPのバージョンは7.4.10-0(MariaDB 10.4.14)です。

今年(2020年)の6月ごろまでは何ごともなく使えていたのですが、最近データベースにアクセスできなくなりました。実は、新型コロナウイルスの影響でコレクション活動をしばらく中断していました。9月上旬、久しぶりにデータを登録しようとしたところ、どうしてもつながりません。XAMPPコントロールパネルで確認したところ、サービスとして稼動しているはずのMySQLがストップしていました。手動でスタートさせると、一瞬立ち上がりかけるものの
Error: MySQL shutdown unexpectedly.…
というメッセージが出て止まってしまいます。ポートの変更などを試みましたが、変化はありません。そこで、やむを得ずXAMPPを再インストールしました。ところが、デフォルトの状態なら問題ないのですが、my.iniを書き換えると起動しないのです。バックアップを簡素化するため、データをDropboxフォルダーに置いてあります。このためmy.iniのdatadirを当該フォルダーに変更するとおかしくなることが判明しました。ためしにC:の直下に“data”というフォルダーを作ってこれをdatadirで指定してみましたが、やはり起動しません。

何も変更した憶えはありませんが、しばらくデータベースを使っていない間にWindows10のアップデートが何回かあったので、どこかの設定が変わってしまったのかも知れません。ネットを検索してみましたが、これといった解決方法も見つからず、ここで質問させていただくこととした次第です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

saoyagi2

2020/09/16 11:39

MySQLの起動に失敗する際の my.ini を掲示いただくことはできますか。もちろん秘匿情報は伏字にしていただいたうえで構いません。 また、MySQL のログには何かエラー情報は出力されていませんでしょうか。もしも出力されていたら、そちらも質問文に追記いただけると何かわかるかもしれません。
退会済みユーザー

退会済みユーザー

2020/09/16 21:30

さっそくのご返信、ありがとうございます。 お尋ねのあったmy.iniは以下のとおりです。 ------------------------------ # Example MySQL config file for small systems. # # This is for a system with little memory (<= 64M) where MySQL is only used # from time to time and it's important that the mysqld daemon # doesn't use much resources. # # You can copy this file to # C:/xampp/mysql/bin/my.cnf to set global options, # mysql-data-dir/my.cnf to set server-specific options (in this # installation this directory is C:/xampp/mysql/data) or # ~/.my.cnf to set user-specific options. # # In this file, you can use all long options that a program supports. # If you want to know which options a program supports, run the program # with the "--help" option. # The following options will be passed to all MySQL clients [client] # password = your_password port=3306 socket="C:/xampp/mysql/mysql.sock" # Here follows entries for some specific programs # The MySQL server default-character-set=utf8mb4 [mysqld] port=3306 socket="C:/xampp/mysql/mysql.sock" basedir="C:/xampp/mysql" tmpdir="C:/xampp/tmp" datadir="C:/Users/xxxx/Dropbox/mysql/data" pid_file="mysql.pid" # enable-named-pipe key_buffer=16M max_allowed_packet=1M sort_buffer_size=512K net_buffer_length=8K read_buffer_size=256K read_rnd_buffer_size=512K myisam_sort_buffer_size=8M log_error="mysql_error.log" # Change here for bind listening # bind-address="127.0.0.1" # bind-address = ::1 # for ipv6 # Where do all the plugins live plugin_dir="C:/xampp/mysql/lib/plugin/" # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # # commented in by lampp security #skip-networking #skip-federated # Replication Master Server (default) # binary logging is required for replication # log-bin deactivated by default since XAMPP 1.4.11 #log-bin=mysql-bin # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id =1 # Replication Slave (comment out master section to use this) # # To configure this host as a replication slave, you can choose between # two methods : # # 1) Use the CHANGE MASTER TO command (fully described in our manual) - # the syntax is: # # CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>, # MASTER_USER=<user>, MASTER_PASSWORD=<password> ; # # where you replace <host>, <user>, <password> by quoted strings and # <port> by the master's port number (3306 by default). # # Example: # # CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, # MASTER_USER='joe', MASTER_PASSWORD='secret'; # # OR # # 2) Set the variables below. However, in case you choose this method, then # start replication for the first time (even unsuccessfully, for example # if you mistyped the password in master-password and the slave fails to # connect), the slave will create a master.info file, and any later # change in this file to the variables' values below will be ignored and # overridden by the content of the master.info file, unless you shutdown # the slave server, delete master.info and restart the slaver server. # For that reason, you may want to leave the lines below untouched # (commented) and instead use CHANGE MASTER TO (see above) # # required unique id between 2 and 2^32 - 1 # (and different from the master) # defaults to 2 if master-host is set # but will not function as a slave if omitted #server-id = 2 # # The replication master for this slave - required #master-host = <hostname> # # The username the slave will use for authentication when connecting # to the master - required #master-user = <username> # # The password the slave will authenticate with when connecting to # the master - required #master-password = <password> # # The port the master is listening on. # optional - defaults to 3306 #master-port = <port> # # binary logging - not required for slaves, but recommended #log-bin=mysql-bin # Point the following paths to different dedicated disks #tmpdir = "C:/xampp/tmp" #log-update = /path-to-dedicated-directory/hostname # Uncomment the following if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000 # Comment the following if you are using InnoDB tables #skip-innodb innodb_data_home_dir="C:/Users/xxxx/Dropbox/mysql/data" innodb_data_file_path=ibdata1:10M:autoextend innodb_log_group_home_dir="C:/Users/xxxx/Dropbox/mysql/data" #innodb_log_arch_dir = "C:/xampp/mysql/data" ## You can set .._buffer_pool_size up to 50 - 80 % ## of RAM but beware of setting memory usage too high innodb_buffer_pool_size=16M ## Set .._log_file_size to 25 % of buffer pool size innodb_log_file_size=5M innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=1 innodb_lock_wait_timeout=50 ## UTF 8 Settings #init-connect=\'SET NAMES utf8\' #collation_server=utf8_unicode_ci #character_set_server=utf8 #skip-character-set-client-handshake #character_sets-dir="C:/xampp/mysql/share/charsets" sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION log_bin_trust_function_creators=1 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci [mysqldump] max_allowed_packet=16M [mysql] # Remove the next comment character if you are not familiar with SQL #safe-updates [isamchk] key_buffer=20M sort_buffer_size=20M read_buffer=2M write_buffer=2M [myisamchk] key_buffer=20M sort_buffer_size=20M read_buffer=2M write_buffer=2M [mysqlhotcopy] ------------------------------ datadirに設定されているフォルダーの“xxxx”の部分が実際のユーザー名です。なお、下のほうにあるinnodbがらみの設定もDropboxフォルダーに変更してありますが、この部分はデフォルトのままでもコメントアウトしても関係ない(つまり起動しない)ようです。 また、エラーログ(mysql_error.log)は以下のとおりです。 ------------------------------ InnoDB: using atomic writes. 2020-09-16 14:04:33 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2020-09-16 14:04:33 0 [Note] InnoDB: Uses event mutexes 2020-09-16 14:04:33 0 [Note] InnoDB: Compressed tables use zlib 1.2.11 2020-09-16 14:04:33 0 [Note] InnoDB: Number of pools: 1 2020-09-16 14:04:33 0 [Note] InnoDB: Using SSE2 crc32 instructions 2020-09-16 14:04:33 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M 2020-09-16 14:04:33 0 [Note] InnoDB: Completed initialization of buffer pool 2020-09-16 14:04:33 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=300378 2020-09-16 14:04:33 0 [Note] InnoDB: 128 out of 128 rollback segments are active. 2020-09-16 14:04:33 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1" 2020-09-16 14:04:33 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2020-09-16 14:04:33 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2020-09-16 14:04:33 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB. 2020-09-16 14:04:33 0 [Note] InnoDB: Waiting for purge to start 2020-09-16 14:04:33 0 [Note] InnoDB: 10.4.14 started; log sequence number 300387; transaction id 171 2020-09-16 14:04:33 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool 2020-09-16 14:04:33 0 [Note] Plugin 'FEEDBACK' is disabled. 2020-09-16 14:04:33 0 [Note] InnoDB: Buffer pool(s) load completed at 200916 14:04:33 2020-09-16 14:04:33 0 [Note] Server socket created on IP: '::'. ------------------------------ お手数をおかけしますが、よろしくお願いいたします。
saoyagi2

2020/09/17 10:42

my.ini とエラーログの掲載ありがとうござます。 my.ini の記載の仕方には問題がないようですので、ひとまずこちらは原因からとりはずして大丈夫そうです。 エラーログですが、こちらは正常に起動したときのものでしょうか。datadir が C:\xampp\mysql\data\ にセットされているように見受けられます。[Note] と出力されているログは正常処理されたものです。 datadir を C:/Users/xxxx/Dropbox/mysql/data にしたときのエラーログに [Fatal] や [Error] のような出力はありませんでしたでしょうか。
退会済みユーザー

退会済みユーザー

2020/09/17 11:59

お世話になっております。ご指摘のように、datadirを変更したときのエラーログはDropboxフォルダーに作成されていました。起動しなかったときの内容は以下のとおりで、[error]などは出力されていません。 InnoDB: using atomic writes. 2020-09-17 20:02:20 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2020-09-17 20:02:20 0 [Note] InnoDB: Uses event mutexes 2020-09-17 20:02:20 0 [Note] InnoDB: Compressed tables use zlib 1.2.11 2020-09-17 20:02:20 0 [Note] InnoDB: Number of pools: 1 2020-09-17 20:02:20 0 [Note] InnoDB: Using SSE2 crc32 instructions 2020-09-17 20:02:20 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M 2020-09-17 20:02:20 0 [Note] InnoDB: Completed initialization of buffer pool 2020-09-17 20:02:20 0 [Note] InnoDB: 128 out of 128 rollback segments are active. 2020-09-17 20:02:20 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2020-09-17 20:02:20 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2020-09-17 20:02:20 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB. 2020-09-17 20:02:20 0 [Note] InnoDB: Waiting for purge to start 2020-09-17 20:02:20 0 [Note] InnoDB: 10.4.14 started; log sequence number 1604225; transaction id 9 2020-09-17 20:02:20 0 [Note] InnoDB: Loading buffer pool(s) from C:\Users\xxxx\Dropbox\mysql\data\ib_buffer_pool 2020-09-17 20:02:20 0 [Note] Plugin 'FEEDBACK' is disabled. 2020-09-17 20:02:20 0 [Note] InnoDB: Buffer pool(s) load completed at 200917 20:02:20 2020-09-17 20:02:20 0 [Note] Server socket created on IP: '::'.
saoyagi2

2020/09/18 00:28

エラー時のログ掲載ありがとうございます。 たしかに、エラー状況が出力されていないですね。残念ながらこれでは原因はわかりそうにありません。 お力になれず申し訳ありません。
退会済みユーザー

退会済みユーザー

2020/09/19 09:06

ご回答ありがとうございました。OSの再インストールを含めて検討してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問