sm702 发表于 2018-10-8 12:56:00

修改mysql root密码

  修改的用户都以root为列
  一、拥有原来的myql的root的密码;
  方法一:
  在mysql系统外,使用mysqladmin
  # mysqladmin -u root -p password "test123"
  Enter password: 【输入原来的密码】
  方法二:
  用SET PASSWORD命令
  mysql -u root
  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
  mysql> flush privileges;
  mysql> exit;
  方法三:
  通过登录mysql系统,
  # mysql -uroot -p
  Enter password: 【输入原来的密码】
  mysql>use mysql;
  mysql> update user set password=passworD("test") where user='root';
  mysql> flush privileges;
  mysql> exit;
  方法四:
  在 Navicat for MySQL 下面直接执行SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
  二、忘记原来的myql的root的密码;
  首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
  类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
  /etc/init.d/mysqld status
  mysqld dead but subsys locked
  这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
  # mysqld_safe --skip-grant-tables &
  &,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
  # mysql
  mysql> use mysql;
  mysql> UPDATE user SET password=password("test123") WHERE user='root';
  # 但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码
  update user set authentication_string=password('new password') where user='root';
  mysql> flush privileges;
  mysql> exit;
  然后重启mysql即可

页: [1]
查看完整版本: 修改mysql root密码