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

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

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

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

Q&A

解決済

3回答

15809閲覧

MySQL いつの間にかリードオンリーになりレコードの追加/更新、削除不可に。

ssmxgo

総合スコア178

MySQL

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

0グッド

0クリップ

投稿2017/02/15 13:29

編集2017/02/16 08:05

#状況
申し訳ありませんが、データベースにはあまり精通していません。(コンソールを叩く程度は出来ます)
基本的に、データベースの読み込みをメインで行い、久しぶりに変更、更新を行おうとしたら
全てにおいて、

sql

1MariaDB [DB_NAME]> delete from my_table where id=43 2 -> ; 3ERROR 1036 (HY000): Table 'my_table' is read only

いつのまにかデータベース全体(実際はレコードの編集権限っぽい)がリードオンリーになっているので、ユーザの権限絡みかとも思いましたがユーザ権限はいじって[[:いない、そもそもパスワード未設定のroot、及びphpMyAdmin?pmaのみ。
ログインはrootしか利用していない、です。

#環境
MAC
XAMPP
特に特別なことはしていません。
Local環境でパスワードは設定していません

sql

1select HOST,User,Password from user; 2+-----------+------+----------+ 3| HOST | User | Password | 4+-----------+------+----------+ 5| localhost | root | | 6| 127.0.0.1 | root | | 7| ::1 | root | | 8| localhost | | | 9| localhost | pma | | 10+-----------+------+----------+

###追記
2017/02/16 11:56
かなり手がかりになる情報らしきものに行き着きました
MySQLのファイルを確認したところ
ls /Applications/XAMPP.ori/xamppfiles/var/
通常

bash

1drwxrwx--- 89 _mysql _mysql 3.0K 2 16 11:31 mysql 2drwxrwx--- 3 _mysql _mysql 102B 2 16 11:31 performance_schema 3drwxrwx--- 41 _mysql _mysql 1.4K 2 16 11:31 phpmyadmin

になるところ

bash

1drwxrwx--- 89 _mysql 403 3.0K 1 5 19:44 mysql 2drwxrwx--- 3 _mysql 403 102B 1 5 19:44 performance_schema 3drwxrwx--- 41 _mysql 403 1.4K 1 5 19:44 phpmyadmin

と、**酷い。**wineにより動かしていたWindowsクライアントがいたずらをしたのか、もうどこに問題が飛散しているか疑心暗鬼-1。
どうしてこんなことになっているのか、この対策と、発生原因の探求と問題のフェーズが変わったような気がします。

sql

1chgrp -R _mysql /Applications/XAMPP/xamppfiles/var/mysql

してグループを変えましたが、以下の現象はあい変わらず、(;´д`)トホホ…
もうどこに問題が飛散しているか疑心暗鬼-2 な状態。
諦めよう。

2017/02/16 10:24
DB / テーブルの作成、削除は可能。

sql

1create database test_db; 2Query OK, 1 row affected (0.00 sec) 3 4create table testtest (id integer); 5Query OK, 0 rows affected (0.12 sec) 6 7drop table test; 8Query OK, 0 rows affected (0.02 sec) 9 10drop database test_db; 11Query OK, 0 rows affected (0.01 sec)

新DB/既存DBのテーブルに対するレコードの追加(/更新、削除)はNG。

sql

1INSERT INTO test (id) value (5); 2ERROR 1036 (HY000): Table 'test' is read only 3

以下、状況変わらず

sql

1SELECT * FROM sys.dm_tran_locks; 2ERROR 1146 (42S02): Table 'sys.dm_tran_locks' doesn't exist 3 4unlock tables; 5Query OK, 0 rows affected (0.00 sec)

視覚的にSQLを理解するのに、phpMyAdmin やら WorkBench やら A5M2(wine on Mac) やらで
接続したことが何か影響をしたかもしれません。

問題解決のための解析すらわかりません
どうかお力添え下さい

ご指示くだされた、必要な追加情報アップいたします

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

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

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

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

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

guest

回答3

0

自己解決

諦めました。
SQLのシステムファイルがわけの分からない、403グループに振り分けられていました。
検索しても、それっぽい記事がヒットせず、一般的でないクリティカルなシステム破壊と割り切りました。

XAMPPディレクトリを退避し、XAMPPを再インストール。DBをエクスポート、インポートで復旧。

ご協力、ありがとうございました!! orz orz

投稿2017/02/16 08:08

ssmxgo

総合スコア178

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

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

0

ログインできているのであれば、

SQL

1SELECT * FROM information_scheme.table_privileges WHERE table_name = 'my_table';

で、とりあえず TABLE の権限がどうなっているか見るのと、
TABLE を mount するときに何かトラブルがあって read only になっていないか、MariaDB の起動ログを見てみるくらいですかねえ…

投稿2017/02/16 04:15

tacsheaven

総合スコア13703

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

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

ssmxgo

2017/02/16 04:24 編集

ありがとうございます! SELECT * FROM information_scheme.table_privileges WHERE table_name = 'my_table'; ERROR 1146 (42S02): Table 'information_scheme.table_privileges' doesn't exist TABLE の権限 MariaDB の起動ログ ココらへんは(基礎から)調べてみない(学ばない)とわかりません(~_~;) 頑張ります。
tacsheaven

2017/02/16 05:36

あ、SQL 間違ってた。 SELECT * FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES WHERE table_name = 'my_table' として、その結果の PRIVILEGES_TYPE が、 SELECT、INSERT、UPDATE、REFERENCES、ALTER、INDEX、DROP、CREATE VIEW のどれがあるか確認しましょう。 もし INSERT や UPDATE があるならば、権限は問題ないので、MariaDB がただしくデータベースをマウントできていないということになります。 ※テーブルを新たに作れるということは、ストレージそのものは書き込み可能なはずですから、ディスクマウント時のトラブルではない、はず…
ssmxgo

2017/02/16 07:58

ありがとうございます。 質問文にも追記させていただきましたが、どう考えても通常ではない状態でそのような状況が発生したまだわかりません。しかしながら今回はXAMPP再インストール、データのインポート・エクスポートで復旧いたしました。 ご記入いただいた内容は勉強を兼ね、後日もう一度障害状況を再現させてテストさせていただきます。
guest

0

エラーメッセージでググる(今回はテーブル名は除いて)と日本語では
mysql starting-crash-recoveryからのリカバリ(DBが削除できない) が見つかります。
参考になるでしょうか?

投稿2017/02/15 14:03

Orlofsky

総合スコア16415

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

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

ssmxgo

2017/02/16 01:46

夜分ありがとうございました(スマホからコメント入れましたが反映されていませんでした) ありがとうございました。確認しましたが状況がちょっと違うようでした。 ※テータベース、及びテーブルの作成/削除は可能でした。 しかしながら、切り分けの材料となりました。 なんなんでしょう、こんなのは初めてですね 回答がないことからも、かなり特殊事例なんでしょうかね(~_~;)
Orlofsky

2017/02/16 05:22

エラーメッセージでググって他にもhitしたものも含めて調べてみては?英文も翻訳機能も使えばだいたい読めますから。
ssmxgo

2017/02/16 08:00 編集

ありがとうございます。 かなり調べてみましたが、そもそも基礎知識の不足で該当する例を見つけられませんでした。 なにか、今回はwineを使ったSQLクライアントが引き起こした、通常では起こり得ない複雑な問題ではないかと結論に至りました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問