CentOS 7 安装及卸载、重置登录密码 MySql5.7


一、安装mysql
2、懒得找的同学,可以直接复制如下命令进行安装:
[plain]  view plain  copy
  1. [root@linux-node2 ~]# rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm  
[plain]  view plain  copy
  1. [root@linux-node2 ~]# yum install mysql-server -y  

3、设置 mysqld 服务开机自启动:
[plain]  view plain  copy
  1. [root@linux-node1 ~]# systemctl enable mysqld.service  

4、开启 mysqld 服务:
[plain]  view plain  copy
  1. [root@linux-node1 ~]# systemctl start mysqld.service  

5、此时,如果直接执行 mysql -uroot -p 回车,会报如下错误:
[plain]  view plain  copy
  1. [root@linux-node1 ~]# mysql -uroot -p  
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
查看官方文档,找其原因:mysql 5.7 在安装过程中自动生成了一个默认的root密码(<5.7版本默认root密码为空)

6、解决方案,用如下命令获取root的默认密码(红色部分):
[plain]  view plain  copy
  1. [root@linux-node1 ~]# grep 'temporary password' /var/log/mysqld.log  
2016-06-26T12:45:43.799230Z 1 [Note] A temporary password is generated for root@localhost: jyki7m+>RD_*

7、重复5步骤,输入该默认密码,成功登入mysql,此时执行命令,会报如下错误:
[plain]  view plain  copy
  1. mysql> show databases;  

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.


8、根据该错误提示,必须修改密码:
[plain]  view plain  copy
  1. mysql> SET PASSWORD = PASSWORD('new password');  

注意:新密码必须  大小写+符号 全部包含,不然会提示密码不符合规则:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

9、修改成功后,执行一下熟悉的mysql 命令吧:
[plain]  view plain  copy
  1. mysql> show databases;  

二、重置mysql登录密码
修改MySQL的登录设置: 
[plain]  view plain  copy
  1. [root@linux-node1 ~]# vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables 
例如: 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 
保存并且退出vi。

重新启动mysqld 

[plain]  view plain  copy
  1. [root@linux-node1 ~]# systemctl restart mysqld.service  

登录并修改MySQL的root密码

[plain]  view plain  copy
  1. [root@linux-node1 ~]# mysql


[plain]  view plain  copy
  1. mysql>USE mysql ; 

[plain]  view plain  copy
  1. mysql> UPDATE user SET authentication_string = password ( 'new-password' ) WHERE User = 'root' ; 

[plain]  view plain  copy
  1. mysql> flush privileges ;  

[plain]  view plain  copy
  1. mysql> quit


将MySQL的登录设置修改回来

[plain]  view plain  copy
  1. [root@linux-node1 ~]# vim /etc/my.cnf

将刚才在[mysqld]的段中加上的skip-grant-tables删除 
保存并且退出vim
重新启动mysqld 

[plain]  view plain  copy
  1. [root@linux-node1 ~]# systemctl restart mysqld.service  

之后你就能用刚才重置的密码登录数据库了。








三、卸载mysql 
执行如下删除命令
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
  • 1
  • 2
  • 3

查看是否还有mysql软件:

rpm -qa|grep mysql
  • 1

有的话继续删除即可。 



猜你喜欢

转载自blog.csdn.net/u013240609/article/details/78551475