問題タブ [mysql-error-1142]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL:データベースに対する**すべての**権限を付与します
'mydb'などのデータベースを作成しました。
これで、どこからでもデータベースにログインできますが、テーブルを作成できません。
そのデータベースと(将来の)テーブルに対するすべての特権を付与する方法。'mydb'データベースにテーブルを作成できません。私はいつも得る:
mysql - GRANT ALL PRIVILEGES を持つユーザーの CREATE コマンドが拒否されました
MySQL レプリケーション スレーブをセットアップしようとしていますが、実行に非常に苦労していますLOAD DATA FROM MASTER;
。はい、非推奨であることは承知していますが、MySQL 5.1 を実行しているので、現時点では問題ありません。
何らかの理由で、MySQL はコマンドが拒否されたと言い続けますCREATE
が、SHOW GRANTS のチェックではそうではありません。これをチェックしてください:
ここで私が変だと思ったのは、電話をかけるとLOAD DATA FROM MASTER
、私がいると思い込んでいるのに'replicator'@'localhost'
、SHOW GRANTS
と言っているということです'replicator'@'%'
。念のため、 にも同じ特権を与えました'replicator'@'localhost'
。
では、なぜこれがすべて台無しになっているのかについて何か考えはありますか? はい、私もFLUSH PRIVILEGES
何度もしました。
アドバイスをいただければ幸いです。
mysql - MySQL テーブルを分析すると、エラー 1040 - 接続が多すぎます
なぜそれは私が実行するときです
MySQL サーバーは次のエラーを出し始めます。
1040 - 接続が多すぎます
私はPHPMyAdminでこれを実行しました..
また、テーブルには 1,500 万行を超えるデータが含まれています。これを修正する方法はありますか?
MySQLTuner の結果:
もともと、私のキー バッファ サイズは 64MB にしか設定されていませんでした。キー バッファー サイズを 1GB に設定すると、そのコマンドの実行中に、接続ユーザーの最大数が 17 でピークに達しました。また、64MB のみに設定すると、常に最大許容接続ユーザー数に達していました。私のサーバーは 4GB の RAM にしか制限されていないため、これ以上の値を設定することはできません。
mysql - MySQL: CREATE に対するアクセス許可の付与が拒否されました
データベースとユーザーをセットアップし、通常どおりアクセス許可を付与しますが、アクセスが拒否され、理由がわかりません:
php - CRON ジョブの MySQL 権限
ファイルをクリーンアップし、古いデータベース エントリを削除するために CRON によって毎日実行される PHP スクリプトを作成しました。
スクリプトの実行に問題はないので、CRON の問題ではないことはわかっています。
問題は、次のエラーが発生することです。
警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1142行の/cron_removeOld.phpのテーブル 'users' のユーザー 'username'@'localhost' に対する SELECT コマンドが拒否されました35
バックエンド管理者ユーザーに同じ DB 資格情報を使用しているため、SELECT 権限があることがわかります。Web サーバーの外部で実行されているスクリプトと関係があるのでしょうか?
どんな助けでも大歓迎です!
クロン:
PHP (35 行目):
データベースの信用情報は、他のページと共有されているインクルード ファイルに含まれているため、問題ではないことはわかっています。役立つと思われる場合は投稿します。
mysql - 同じ接続での 2 回目の呼び出しで、MySQL ストアド プロシージャが失敗し、"テーブル 'view_name' のユーザー 'user'@'localhost' に対して SELECT コマンドが拒否されました。
sales_observation_daily_summary_view の実体化されたビューである sales_observation_daily_summary というテーブルがあります。具体化されたビューを更新する sync_daily_summary_view_with_table というストアド プロシージャを定義しました。機能的には、期待どおりに動作します。ただし、同じ接続でストアド プロシージャを 2 回呼び出すと、奇妙なバグが発生します (接続プールを使用する場合に発生する可能性が高いシナリオです)。もともとこれは私の Java 統合テストで発生しましたが、MySQL Workbench で簡単に再現できるので、JDBC や Spring などとは関係ありません。
最初の呼び出しで、本来の処理を実行し、正常に戻ります。2 番目の呼び出しで、次のようになります。
one_pg_someone_sales_observation_daily_summary_view は、ストアド プロシージャで参照される sales_observation_daily_summary_view で参照されます。まず第一に、ストアド プロシージャが最初に実行されたときにオブジェクトを生成せず、第二に、そのユーザーがそのビューで選択する十分な権限を持っているため、エラー メッセージは意味がありません。
関連するすべてのビューは非常に複雑なので表示しませんが、sales_observation_daily_summary_view は他のいくつかのビューの結合として定義されています。
ストアド プロシージャは次のように定義されます。
ローカル開発ボックスでバージョン 5.1.56-log を使用しています。
UPDATE 1
また、Amazon RDS サーバーのバージョン 5.1.57-log でエラーを再現しました。
UPDATE 2
ストアド プロシージャを定義しSQL SECURITY INVOKER
てルートとして実行すると、正常に動作します。これは受け入れられる回避策ではありませんが、何らかの手がかりになる可能性があります。(例: テーブルのロックの問題ではありません。
UPDATE 3 関連するテーブルは InnoDB テーブルです。それが手がかりかどうかはわかりませんが、最初に Start Transaction を追加し、最後に Commit を追加すると、完了するまでにはるかに時間がかかりましたが、2 回目の呼び出しで同じエラーが発生しました。
更新 4 ストアド プロシージャを簡略化しましたが、問題を再現しました。以前は、insert ステートメントの後に update ステートメントが続きました。エラーを再現するには update ステートメントで十分であることが判明したため、上記のストアド プロシージャから insert ステートメントを削除しました。
mysql - MySQL: エラー 1142 (42000) およびエラー 1064 (42000)
Windows 7 を使用しています。ダウンロードmysql-5.5.16-win32.zip
してインストールしました。MySQL サーバーを正常に起動しましたが、次のエラーが発生します。
Windows から mysql テーブルのユーザーに必要な権限を設定するにはどうすればよいですか?
mysql - CREATE コマンドがユーザーに拒否されましたか?
私が使った
次に、データベースをインポートすると、エラーが表示されます:
mysql - エラー 1142: SELECT および LOCK TABLE コマンドが拒否されました
MySQL を実行しているサーバーを再インストールしました。MySQL Workbench を使用してデータベースのバックアップを作成しました。今、同じプログラムを使用してダンプをデータベースにインポートしようとしていますが、次のエラーが発生します。
そのルートには完全な特権があると思いました。次を実行しましたが、これを実行した後、前のクエリで同じエラーが表示されます。
ローカル (root@localhost) で実行している場合にも表示されます。
何をすべきか?