天天看点

CentOS7 安装 Mysql 5.7,密码查看与修改

1、检测下系统有没有自带的mysql:yum list installed | grep mysql, 

如果已经有的话执行命令yum -y remove mysql-libs.x86_64卸载已经安装的mysql。 

http://dev.mysql.com/downloads/mysql/

2、先到mysql官网下载5.7.11的安装包,download-yum选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (ArchitectureIndependent), RPM Package , 

进入系统下载安装包: 

如果新的系统还没有wget命令的话可以先:

3、添加选择yum源: 

 4、安装mysql: 

 5、安装完成之后会自动在log中生成连接的密码, 

启动mysql: 

查看密码: 

你必须重新设置密码才能执行语句

6、其实想要重置 5.7 的密码很简单,就一层窗户纸: 

    1)   修改/etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1

    这一行配置让 mysqld 启动时不对密码进行验证

    2)   重启mysqld 服务:systemctl restart mysqld

    3)   使用 root 用户登录到 mysql:mysql -uroot 

    4)   切换到mysql数据库,更新 user 表:

          update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

    5)   退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1的内容

7、重启mysqld 服务,再用新密码登录即可

8、允许远程连接

9、修改密码多种方法

    方法1: 用SET PASSWORD命令

      mysql -u root

      mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

    方法2:用mysqladmin

      mysqladmin -u root password "newpass"

      如果root已经设置过密码,采用如下方法

      mysqladmin -u root password oldpass "newpass"

    方法3: 用UPDATE直接编辑user表

      mysql> use mysql;

      mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

      mysql> FLUSH PRIVILEGES;

    在丢失root密码的时候,可以这样

      mysqld_safe --skip-grant-tables&

      mysql -u root mysql

      mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

      mysql> FLUSH PRIVILEGES;