查看内容

mysql 5.7修改密码

  • 2019-12-12 14:17
  • 新浦京计算机网络
  • Views

忘记MySQL数据库root帐号密码,怎么修改过来

mysql -uroot -proot password 123456

 

 

mysql 5.7修改密码。背景:  

mysql -u登录名 -p旧密码 password 新密码

MySQL数据库root帐号一般只有MySQL DBA知道,这个帐号的密码需要严格保密,一旦泄漏问题很严重;但是如果DBA忘记了,则不能进行某些MySQL的管理工作,这时就必须在保证数据安全、无损坏的情况重置root帐号密码

 

 

 

步骤:  www.2cto.com    

附:

  1. 停止mysqld数据库服务

 

    shell> service mysql stop

MySQL管理者密码设置或修改:
依据官方说明5.6以后版本,第一次启动时会在root目录下生产一个随机密码,文件名.mysql_secret。
[root@bright ~]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2015-03-27 23:12:10
:Jj+FTiqvyrF
[root@bright ~]# cd /usr/local/mysql/bin/
[root@bright bin]# ./mysqladmin -u root -h localhost password '123456' -p
Enter password:                    #此行输入.mysql_secret里第二行内容
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
官方的方式,笔者无论是否使用--skip-grant-tables启动mysql都测试失败,亲们可以测试:
shell>mysql -uroot -p'password'    #password即.mysql_secret里的密码
mysql>SET PASSWORD = PASSWORD('newpasswd');
图片 1
旧版本,安装后ROOT无密码,按如下操作:
方法一:
shell>service mysqld stop    #停止mysql服务
shell>mysqld_safe --skip-grant-tables &  #以不启用grant-tables模式启动mysql
shell>mysql -uroot -p #输入命令回车进入,出现输入密码提示直接回车。
mysql>use mysql;
mysql>update user set password=PASSWORD("123456")where user="root"; #更改密码为 newpassord
mysql>flush privileges; #更新权限
mysql>quit #退出
方法二:
shell>service mysqld stop    #停止mysql服务
shell>mysqld_safe --skip-grant-tables &  #以不启用grant-tables模式启动mysql
shell>mysql -uroot -p #输入命令回车进入,出现输入密码提示直接回车。
mysql > set password for root@localhost = password('mysqlroot');
方法三:
shell>/path/mysqladmin -u UserName -h Host password 'new_password' -p

 注:如果有用户拥有shutdown权限,则可以使用mysqladmin --user=xxx -password shutdown停止mysqld服务

 

 

  1. 以--skip-grant-tables选项启动mysqld数据库服务

    shell> mysqld --datadir=/var/data/ --pid-file=/var/data/xxx.pid --skip-grant-tables

    注:datadir指定数据库数据目录,pid-file指定内容为mysqld进程号的文件,指定skip-grant-tables选项,mysqld启动时忽略权限验证

 

  1. 不使用密码登录mysql数据库

    shell> mysql -uroot mysql

    注:不指定密码选项(-p或--password),则使用空密码登录