卸载mysql和 Access denied for user root@localhost 解决

1.为什么会出现这种异常?
    原因:Mysql有自己的权限控制,Mysql为了安全性,在默认情况下用户只允许在本地登录。但是localhost连接不可以可能是由于root用户被修改的缘故吧。Mysql有自带的数据库mysql,其中有表user是存放用户相关信息的。所以想办法连接上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: <输入新设的密码newpassword>

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-mysql51
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
二、允许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
三、允许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
五、MYSQL权限详细分类: 全局管理权限: FILE: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: ALTER: 修改已存在的数据表(例如增加/删除列)和索引。 CREATE: 建立新的数据库或数据表。 DELETE: 删除表的记录。 DROP: 删除数据表或数据库。 INDEX: 建立或删除索引。 INSERT: 增加表的记录。 SELECT: 显示/搜索表的记录。 UPDATE: 修改表中已存在的记录。 特别的权限: ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录–其它什么也不允许做。

    原文作者:holly_wang_王小飞
    原文地址: https://www.jianshu.com/p/2beb0ec154b0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞