間違えて、ルートのmax_connections
列を「1」に設定したので、接続して変更しようとするたびに、次のようになります。
エラー1226(42000):ユーザー 'root'が 'max_connections_per_hour'リソースを超えました(現在の値:1)
それは私の個人的なサーバーだったので、他のユーザーはいません。
私はもう試した:
しかし、何も機能しません。誰かがそれを変更する方法を知っていますか?
MySQL経由でその属性を削除する必要があります
これはMySQL 5.7でのみ機能します
ALTER USER root@localhost MAX_CONNECTIONS_PER_HOUR 0;
他のrootユーザー(root@'127.0.0.1'
やroot@'%'
など)がある場合は、rootユーザーごとに個別の ALTER USER を実行する必要があります。
UPDATE mysql.user SET max_connections = 0 WHERE user='root';
FLUSH PRIVILEGES;
MySQLにログアウトしてログインすると、違いに気付くはずです
ログアウトしている場合は、1時間後に戻ってもう一度やり直す必要があります。
1時間待つことができず、mysqlを再起動できる場合は、 --skip-grant-tables
を有効にすることができます。
service mysql restart --skip-grant-tables --skip-networking
次に、ログインしてAPPROACH #2
を実行できます
次に、mysqlを通常どおり再起動します
service mysql restart
Windowsでは、少し複雑です。
MSIインストーラーを使用してMySQLをWindowsにインストールしたと仮定すると、my.ini
はありません。
ここがクレイジーになる場所ですが、ここに行きます...
管理者としてWindowsコマンドラインにログインし、実行します
C:\> net stop mysql
Windowsでmysqld.exeがあるフォルダーを見つけます。
通常はC:\ProgramData\MySQL\MySQL Server 5.6
のようになります
Mysqldを起動してログインします(パスワードは不要です)。
cd "C:\ProgramData\MySQL\MySQL Server 5.6"
start mysqld --skip-grant-tables --skip-networking
mysql
適用APPROACH #2
UPDATE mysql.user SET max_connections = 0 WHERE user='root';
FLUSH PRIVILEGES;
exit
Mysqldを手動でシャットダウンする
mysqladmin shutdown
Mysqldをサービスとして開始する
net start mysql