mysql 5.7 安装及修改/重置密码

### mysql安装检查 yum list installed | grep mysql 如果已经有的话执行命令yum -y remove mysql-libs.x86_64卸载已经安装的mysql。 先到mysql官网http://dev.mysql.com/downloads/mysql/下载5.7的安装包,download-yum选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (ArchitectureIndependent), RPM Package , 进入系统下载安装包: wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm 如果新的系统还没有wget命令的话可以先: yum install wget 添加选择yum源: yum localinstall mysql57-community-release-el7-7.noarch.rpm yum repolist all | grep mysql 安装mysql: yum install mysql-community-server 安装完成之后会自动在log中生成连接的密码 启动mysql: #service mysqld start 查看密码: #cat /var/log/mysqld.log |grep password >2016-08-23T02:33:48.872073Z 1 [Note] A temporary password isgenerated for root@localhost: %IrczkB+J7Ez 你必须重新设置密码才能执行语句 [root@mysqlA ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.14 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. >ALTER USER USER() IDENTIFIED BY '需要设置安全等级很高的密码,否则报错'; #或者如下: >ALTER USER 'root'@'localhost' identified by '需要设置安全等级很高的密码,否则报错' password expire never; 这个错误是因为密码太简单 RROR 1819 (HY000): Your password does not satisfy the current policy requirements ### 重置 5.7 的密码很简单: 1) 修改/etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2) 重启mysqld 服务 service mysqld restart 3) 使用 root 用户登录到 mysql: mysql -u root 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`的内容 重启mysqld 服务,再用新密码登录即可 [root@mysqlA ~]# mysql -V mysql Ver 14.14 Distrib5.7.14, for Linux (x86_64) using EditLine wrapper 允许远程连接 mysql> select user,host from mysql.user; +-----------+-----------+ | user | host | +-----------+-----------+ | mysql.sys | localhost | | root | localhost | +-----------+-----------+ 2 rows in set (0.00 sec) mysql>grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option; ### 修改密码多种方法 方法1: 用SET PASSWORD命令 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password oldpass "newpass" 方法3: 用UPDATE直接编辑user表 mysql -u root 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; 方法4: 使用ALTER USER修改用户信息 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password' PASSWORD EXPIRE NEVER;
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3