mysqlとAccess denied for userのアンインストールroot@localhost解決する
23326 ワード
1.なぜこのような異常が発生したのですか?理由:Mysqlには独自の権限制御があり、Mysqlはセキュリティのため、デフォルトではローカルでのログインのみが許可されています.しかしlocalhost接続ができないのはrootユーザーが修正されたためではないでしょうか.Mysqlには、ユーザー関連情報を格納するテーブルuserを持つ独自のデータベースmysqlがあります.だからmysqlに接続してuserテーブルを修正すればいいのです.2.共通の解決策
#/etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit #/etc/init.d/mysql restart # mysql -uroot -p Enter password:
3.mysqlを完全にアンインストールphp環境と組み合わせてインストールする場合はapache mysql phpをアンインストールする必要があります
yum-y remove httpdはhttpdに依存するパッケージも一括して削除し、比較的清潔で手間のかからないアンインストール方式ですが、依然として漏れている可能性があります.rpm-qa|grep httpdで漏れがないか確認できます.ある場合はrpm-eパッケージ名で削除できます.究極の漏れ方:httpd-vとwhich httpdmysqlとphpも同様に削除されます.phpの依存関係は比較的多く、rpm-qa|grep phpですべての依存パケットを表示し、コマンドrpm-eパケット名で削除することもできます.削除すると依存関係が提示され、そのパッケージが先にそのパッケージを提示すればよい.大体の順序は以下の通りである:rpm-e php-fpm-5.3.3-22.el6.x86_64rpm-e php-pdo-5.3.3-22.el6.x86_64 php-gd-5.3.3-23.el6_4.x86_64 php-cli-5.3.3-23.el6_4.x86_64 php-mysql-5.3.3-23.el6_4.x86_64 php-common-5.3.3-23.el6_4.x86_64 php-pdo-5.3.3-23.el6_4.x86_64 mysql yum remove mysql mysql-server mysql-libs compat-mysql 51 rm-rf/var/lib/mysql rm/etc/myをきれいに削除cnf mysqlソフトウェアがあるかどうかを確認する:rpm-qa|grep mysql which mysql mysql-V
4.アンインストールが完了したら再ロードすればよい
sudo yum install php55w php55w-mysql php55w-gd php55w-curl
5.mysql権限制御の管理ユーザー接続の設定
一、rootユーザーが任意の場所でリモートログインすることを許可し、すべてのライブラリの操作権限を持つ.具体的な操作は以下の通りである:本機でまずrootユーザーを使用してmysql:mysql-u root-p"youpassword"をログインして授権操作を行う:mysql>GRANT ALL PRIVILEGES ON.TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了する:exit 2、rootユーザーが特定のIPでリモートログインすることを許可し、すべてのライブラリの操作権限を持つ.具体的な操作は以下の通りである:本機でrootユーザーを使用してmysql:mysql-u root-p"youpassword"をログインして授権操作を行う:GRANT ALL PRIVILEGES ON.TO root@"172.16.16.152"IDENTIFIED BY "youpassword"WITH GRANT OPTION; リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了する:exit 3、rootユーザーが特定のIPでリモートログインすることを許可し、すべてのライブラリの特定の操作権限を持つ.具体的な操作は以下の通りである:本機でrootユーザーを使用してmysql:mysql-u root-p"youpassword"をログインして授権操作を行う:GRANT select,insert,update,delete ON.TO root@"172.16.16.152"IDENTIFIED BY "youpassword"; リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了する:exit四、ユーザーの許可を削除するには、REVOKEコマンドを使用する必要があります.具体的なコマンドフォーマットは:REVOKE privileges ONデータベース[.テーブル名]FROM user-name;具体的な例としては、まず自機でmysql:mysql-u root-p"youpassword"にログインして授権操作を行う:GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152"IDENTIFIED BY"youpassword";更に削除授権操作を行う:REVOKE all on TEST-DB from test-user;****注意:この操作は、TEST-DBに対するユーザーの権限を消去するだけですが、この「test-user」というユーザーはまだ存在します.最後にユーザテーブルからユーザをクリア:DELETE FROM user WHERE user="test-user";リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了:exit 5、MYSQL権限詳細分類:グローバル管理権限:FILE:MySQLサーバでファイルを読み書きします.PROCESS:他のユーザーに属するサービススレッドを表示または殺します.RELOAD:アクセス制御テーブルの再ロード、ログの更新など.SHUTDOWN:MySQLサービスをオフにします.データベース/データテーブル/データ列権限:ALTER:既存のデータテーブル(列の追加/削除など)とインデックスを変更します.CREATE:新しいデータベースまたはデータテーブルを作成します.DELETE:テーブルのレコードを削除します.DROP:データテーブルまたはデータベースを削除します.INDEX:インデックスを作成または削除します.INSERT:テーブルのレコードを追加します.SELECT:テーブルのレコードを表示/検索します.UPDATE:テーブルに既に存在するレコードを変更します.特別な権限:ALL:何でもできる(rootと同じ).USAGE:ログインのみ許可--他には何も許可されていません.
#/etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit #/etc/init.d/mysql restart # mysql -uroot -p Enter password:
3.mysqlを完全にアンインストールphp環境と組み合わせてインストールする場合はapache mysql phpをアンインストールする必要があります
yum-y remove httpdはhttpdに依存するパッケージも一括して削除し、比較的清潔で手間のかからないアンインストール方式ですが、依然として漏れている可能性があります.rpm-qa|grep httpdで漏れがないか確認できます.ある場合はrpm-eパッケージ名で削除できます.究極の漏れ方:httpd-vとwhich httpdmysqlとphpも同様に削除されます.phpの依存関係は比較的多く、rpm-qa|grep phpですべての依存パケットを表示し、コマンドrpm-eパケット名で削除することもできます.削除すると依存関係が提示され、そのパッケージが先にそのパッケージを提示すればよい.大体の順序は以下の通りである:rpm-e php-fpm-5.3.3-22.el6.x86_64rpm-e php-pdo-5.3.3-22.el6.x86_64 php-gd-5.3.3-23.el6_4.x86_64 php-cli-5.3.3-23.el6_4.x86_64 php-mysql-5.3.3-23.el6_4.x86_64 php-common-5.3.3-23.el6_4.x86_64 php-pdo-5.3.3-23.el6_4.x86_64 mysql yum remove mysql mysql-server mysql-libs compat-mysql 51 rm-rf/var/lib/mysql rm/etc/myをきれいに削除cnf mysqlソフトウェアがあるかどうかを確認する:rpm-qa|grep mysql which mysql mysql-V
[root@l-pub1 siremis]# yum -y remove httpd
Loaded plugins: fastestmirror, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be erased
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-23.el6_4.x86_64
--> Running transaction check
---> Package php.x86_64 0:5.3.3-23.el6_4 will be erased
--> Finished Dependency Resolution
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
webtatic | 3.6 kB 00:00
webtatic/primary_db | 248 kB 00:00
Dependencies Resolved
==================================================================================================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================================================================================================
Removing:
httpd x86_64 2.2.15-29.el6.centos @updates 2.9 M
Removing for dependencies:
php x86_64 5.3.3-23.el6_4 @updates 3.5 M
Transaction Summary
==================================================================================================================================================================================================================
Remove 2 Package(s)
Installed size: 6.5 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : php-5.3.3-23.el6_4.x86_64 1/2
Erasing : httpd-2.2.15-29.el6.centos.x86_64 2/2
warning: /etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave
Verifying : httpd-2.2.15-29.el6.centos.x86_64 1/2
Verifying : php-5.3.3-23.el6_4.x86_64 2/2
Removed:
httpd.x86_64 0:2.2.15-29.el6.centos
Dependency Removed:
php.x86_64 0:5.3.3-23.el6_4
Complete!
[root@l-pub1 siremis]# httpd -v
httpd: Command not found.
[root@l-pub1 siremis]# which httpd
httpd: Command not found.
[root@l-pub1 siremis]# rpm -qa | grep httpd
httpd-tools-2.2.15-29.el6.centos.x86_64
[root@l-pub1 siremis]# rpm -e httpd-tools-2.2.15-29.el6.centos.x86_64
[root@l-pub1 siremis]# yum -y remove php
Loaded plugins: fastestmirror, security
Setting up Remove Process
No Match for argument: php
Determining fastest mirrors
* webtatic: us-east.repo.webtatic.com
Package(s) php available, but not installed.
No Packages marked for removal
[root@l-pub1 siremis]# yum -y remove php5
Loaded plugins: fastestmirror, security
Setting up Remove Process
No Match for argument: php5
Loading mirror speeds from cached hostfile
* webtatic: us-east.repo.webtatic.com
No Packages marked for removal
[root@l-pub1 siremis]# yum -y remove php55w
Loaded plugins: fastestmirror, security
Setting up Remove Process
No Match for argument: php55w
Loading mirror speeds from cached hostfile
* webtatic: us-east.repo.webtatic.com
Package(s) php55w available, but not installed.
No Packages marked for removal
[root@l-pub1 siremis]# yum -y remove mysql
Loaded plugins: fastestmirror, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package mysql.x86_64 0:5.1.69-1.el6_4 will be erased
--> Processing Dependency: mysql = 5.1.69-1.el6_4 for package: mysql-server-5.1.69-1.el6_4.x86_64
--> Processing Dependency: mysql = 5.1.69-1.el6_4 for package: mysql-devel-5.1.69-1.el6_4.x86_64
--> Running transaction check
---> Package mysql-devel.x86_64 0:5.1.69-1.el6_4 will be erased
--> Processing Dependency: mysql-devel for package: q-python27-mysql-1.2.4b5-2.el6.x86_64
---> Package mysql-server.x86_64 0:5.1.69-1.el6_4 will be erased
--> Running transaction check
---> Package q-python27-mysql.x86_64 0:1.2.4b5-2.el6 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================================================================================================
Removing:
mysql x86_64 5.1.69-1.el6_4 @updates 2.4 M
Removing for dependencies:
mysql-devel x86_64 5.1.69-1.el6_4 @updates 388 k
mysql-server x86_64 5.1.69-1.el6_4 @updates 25 M
q-python27-mysql x86_64 1.2.4b5-2.el6 @Qunar-x86_64 279 k
Transaction Summary
==================================================================================================================================================================================================================
Remove 4 Package(s)
Installed size: 28 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Erasing : q-python27-mysql-1.2.4b5-2.el6.x86_64 1/4
Erasing : mysql-devel-5.1.69-1.el6_4.x86_64 2/4
161115 10:56:26 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Erasing : mysql-server-5.1.69-1.el6_4.x86_64 3/4
warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
Erasing : mysql-5.1.69-1.el6_4.x86_64 4/4
Verifying : q-python27-mysql-1.2.4b5-2.el6.x86_64 1/4
Verifying : mysql-server-5.1.69-1.el6_4.x86_64 2/4
Verifying : mysql-5.1.69-1.el6_4.x86_64 3/4
Verifying : mysql-devel-5.1.69-1.el6_4.x86_64 4/4
Removed:
mysql.x86_64 0:5.1.69-1.el6_4
Dependency Removed:
mysql-devel.x86_64 0:5.1.69-1.el6_4 mysql-server.x86_64 0:5.1.69-1.el6_4 q-python27-mysql.x86_64 0:1.2.4b5-2.el6
Complete!
[root@l-pub1 siremis]# rpm -qa | grep php
php-gd-5.3.3-23.el6_4.x86_64
php-cli-5.3.3-23.el6_4.x86_64
php-mysql-5.3.3-23.el6_4.x86_64
php-common-5.3.3-23.el6_4.x86_64
php-pdo-5.3.3-23.el6_4.x86_64
[root@l-pub1 siremis]# rpm -e php-gd-5.3.3-23.el6_4.x86_64
[root@l-pub1 siremis]# rpm -e php-cli-5.3.3-23.el6_4.x86_64
[root@l-pub1 siremis]# rpm -e php-mysql-5.3.3-23.el6_4.x86_64
[root@l-pub1 siremis]# rpm -e php-common-5.3.3-23.el6_4.x86_64
error: Failed dependencies:
php-common(x86-64) = 5.3.3-23.el6_4 is needed by (installed) php-pdo-5.3.3-23.el6_4.x86_64
[root@l-pub1 siremis]# rpm -e php-pdo-5.3.3-23.el6_4.x86_64
[root@l-pub1 siremis]# rpm -e php-common-5.3.3-23.el6_4.x86_64
[root@l-pub1 siremis]# rpm -qa | grep php
[root@l-pub1 siremis]# yum remove mysql mysql-server mysql-libs compat-mysql51
Loaded plugins: fastestmirror, security
Setting up Remove Process
No Match for argument: mysql
Loading mirror speeds from cached hostfile
* webtatic: us-east.repo.webtatic.com
Package(s) mysql available, but not installed.
No Match for argument: mysql-server
Package(s) mysql-server available, but not installed.
No Match for argument: compat-mysql51
Resolving Dependencies
--> Running transaction check
---> Package mysql-libs.x86_64 0:5.1.69-1.el6_4 will be erased
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: 2:postfix-2.6.6-2.2.el6_1.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: 2:postfix-2.6.6-2.2.el6_1.x86_64
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: mysql-libs for package: 2:postfix-2.6.6-2.2.el6_1.x86_64
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be erased
---> Package postfix.x86_64 2:2.6.6-2.2.el6_1 will be erased
--> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-7.el6.x86_64
--> Running transaction check
---> Package cronie.x86_64 0:1.4.4-7.el6 will be erased
--> Processing Dependency: cronie = 1.4.4-7.el6 for package: cronie-anacron-1.4.4-7.el6.x86_64
--> Running transaction check
---> Package cronie-anacron.x86_64 0:1.4.4-7.el6 will be erased
--> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-20.el6.x86_64
--> Processing Dependency: /etc/cron.d for package: crontabs-1.10-33.el6.noarch
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package crontabs.noarch 0:1.10-33.el6 will be erased
---> Package sysstat.x86_64 0:9.0.4-20.el6 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================================================================================================
Removing:
mysql-libs x86_64 5.1.69-1.el6_4 @updates 4.0 M
Removing for dependencies:
cronie x86_64 1.4.4-7.el6 @anaconda-CentOS-201303020151.x86_64/6.4 166 k
cronie-anacron x86_64 1.4.4-7.el6 @anaconda-CentOS-201303020151.x86_64/6.4 43 k
crontabs noarch 1.10-33.el6 @anaconda-CentOS-201303020151.x86_64/6.4 2.4 k
perl-DBD-MySQL x86_64 4.013-3.el6 @base 338 k
postfix x86_64 2:2.6.6-2.2.el6_1 @anaconda-CentOS-201303020151.x86_64/6.4 9.7 M
sysstat x86_64 9.0.4-20.el6 @anaconda-CentOS-201303020151.x86_64/6.4 807 k
Transaction Summary
==================================================================================================================================================================================================================
Remove 7 Package(s)
Installed size: 15 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Erasing : sysstat-9.0.4-20.el6.x86_64 1/7
Erasing : cronie-1.4.4-7.el6.x86_64 2/7
Erasing : cronie-anacron-1.4.4-7.el6.x86_64 3/7
Erasing : crontabs-1.10-33.el6.noarch 4/7
Erasing : 2:postfix-2.6.6-2.2.el6_1.x86_64 5/7
warning: /etc/postfix/transport saved as /etc/postfix/transport.rpmsave
warning: /etc/postfix/main.cf saved as /etc/postfix/main.cf.rpmsave
Erasing : perl-DBD-MySQL-4.013-3.el6.x86_64 6/7
Erasing : mysql-libs-5.1.69-1.el6_4.x86_64 7/7
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
Verifying : 2:postfix-2.6.6-2.2.el6_1.x86_64 1/7
Verifying : mysql-libs-5.1.69-1.el6_4.x86_64 2/7
Verifying : perl-DBD-MySQL-4.013-3.el6.x86_64 3/7
Verifying : cronie-anacron-1.4.4-7.el6.x86_64 4/7
Verifying : crontabs-1.10-33.el6.noarch 5/7
Verifying : sysstat-9.0.4-20.el6.x86_64 6/7
Verifying : cronie-1.4.4-7.el6.x86_64 7/7
Removed:
mysql-libs.x86_64 0:5.1.69-1.el6_4
Dependency Removed:
cronie.x86_64 0:1.4.4-7.el6 cronie-anacron.x86_64 0:1.4.4-7.el6 crontabs.noarch 0:1.10-33.el6 perl-DBD-MySQL.x86_64 0:4.013-3.el6 postfix.x86_64 2:2.6.6-2.2.el6_1 sysstat.x86_64 0:9.0.4-20.el6
Complete!
[root@l-pub1 siremis]# rm -rf /var/lib/mysql
[root@l-pub1 siremis]# rm /etc/my.cnf
/bin/rm: cannot remove `/etc/my.cnf': No such file or directory
[root@l-pub1 siremis]# rpm -qa|grep mysql
[root@l-pub1 siremis]# which mysql
mysql: Command not found.
[root@l-pub1 siremis]# mysql -v
mysql: Command not found.
[root@l-pub1 siremis]#
4.アンインストールが完了したら再ロードすればよい
sudo yum install php55w php55w-mysql php55w-gd php55w-curl
5.mysql権限制御の管理ユーザー接続の設定
一、rootユーザーが任意の場所でリモートログインすることを許可し、すべてのライブラリの操作権限を持つ.具体的な操作は以下の通りである:本機でまずrootユーザーを使用してmysql:mysql-u root-p"youpassword"をログインして授権操作を行う:mysql>GRANT ALL PRIVILEGES ON.TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了する:exit 2、rootユーザーが特定のIPでリモートログインすることを許可し、すべてのライブラリの操作権限を持つ.具体的な操作は以下の通りである:本機でrootユーザーを使用してmysql:mysql-u root-p"youpassword"をログインして授権操作を行う:GRANT ALL PRIVILEGES ON.TO root@"172.16.16.152"IDENTIFIED BY "youpassword"WITH GRANT OPTION; リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了する:exit 3、rootユーザーが特定のIPでリモートログインすることを許可し、すべてのライブラリの特定の操作権限を持つ.具体的な操作は以下の通りである:本機でrootユーザーを使用してmysql:mysql-u root-p"youpassword"をログインして授権操作を行う:GRANT select,insert,update,delete ON.TO root@"172.16.16.152"IDENTIFIED BY "youpassword"; リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了する:exit四、ユーザーの許可を削除するには、REVOKEコマンドを使用する必要があります.具体的なコマンドフォーマットは:REVOKE privileges ONデータベース[.テーブル名]FROM user-name;具体的な例としては、まず自機でmysql:mysql-u root-p"youpassword"にログインして授権操作を行う:GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152"IDENTIFIED BY"youpassword";更に削除授権操作を行う:REVOKE all on TEST-DB from test-user;****注意:この操作は、TEST-DBに対するユーザーの権限を消去するだけですが、この「test-user」というユーザーはまだ存在します.最後にユーザテーブルからユーザをクリア:DELETE FROM user WHERE user="test-user";リロード許可表:FLUSH PRIVILEGES;mysqlデータベースを終了:exit 5、MYSQL権限詳細分類:グローバル管理権限:FILE:MySQLサーバでファイルを読み書きします.PROCESS:他のユーザーに属するサービススレッドを表示または殺します.RELOAD:アクセス制御テーブルの再ロード、ログの更新など.SHUTDOWN:MySQLサービスをオフにします.データベース/データテーブル/データ列権限:ALTER:既存のデータテーブル(列の追加/削除など)とインデックスを変更します.CREATE:新しいデータベースまたはデータテーブルを作成します.DELETE:テーブルのレコードを削除します.DROP:データテーブルまたはデータベースを削除します.INDEX:インデックスを作成または削除します.INSERT:テーブルのレコードを追加します.SELECT:テーブルのレコードを表示/検索します.UPDATE:テーブルに既に存在するレコードを変更します.特別な権限:ALL:何でもできる(rootと同じ).USAGE:ログインのみ許可--他には何も許可されていません.