標籤:mysql
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 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;
或者
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 注釋掉或者刪除
然後重啟資料庫 就可以用更改後的密碼登入了
本文出自 “12252646” 部落格,請務必保留此出處http://12262646.blog.51cto.com/12252646/1947388
MySQL修改root密碼的多種方法