您的位置:首页 > 数据库 > MySQL

MySQL修改root密码的多种方法

2017-07-14 09:13 288 查看
MySQL修改root密码的多种方法

在 Navicat for MySQL 下面直接执行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 就可以

假设编译安装路径在/usr/local/msyql下
设置环境变量方法:
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile
那么mysql很多的脚本文件都在/usr/local/mysql/bin下面
没有添加环境变量情况下使用这些脚本 要么就是cd 进去这个目录然后./几啊还是那个脚本名称
要么就是直接使用绝对路径:
如没有初始密码情况下登录数据库:
/usr/local/msyql/bin/msyql

方法1: 用SET PASSWORD命令
如果没有初始密码 并且添加过环境变量情况下 直接使用命令 mysql 登录
如果是编译安装路径为/usr/local/mysql 那么绝对路径的方式/usr/local/mysql/bin/mysql 这样登录

  mysql

  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 -u root

  mysql> use mysql;

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

  mysql> FLUSH PRIVILEGES;

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

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

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

  mysql> FLUSH PRIVILEGES;

或者

vim /etc/my.cnf
找到[mysqld]在下面加入
--skip-grant-tables
重启数据库
/etc/init.d/mysqld restart
直接使用 mysql 命令登录数据库
UPDATE user SET password=PASSWORD("new password") WHERE user='root';
FLUSH PRIVILEGES;
\q
然后进去/etc/my.cnf把--skip-grant-tables 注释掉或者删除
然后重启数据库 就可以用更改后的密码登录了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql