主機上找到配置文件

-
Windows:
my.ini選擇默認的安裝路徑,則配置文件在:
C:\ProgramData\MySQL\MySQL Server 5.7/my.ini
可能找不到
ProgramData文件夾,這是因為一般是被隱藏了,可以直接復制上邊路徑到資源管理器,再訪問即可。
-
Linux:
my.cnf選擇默認的安裝路徑,則配置文件在:
/etc/my.cnf
其他找到
my.cnf的方法:
- 首先找到mysqld的路徑:
which mysqld出來的路徑就是
mysqld的路徑。
- 敲命令:
/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'在這里就可以看到
my.cnf的路徑。
跳過登錄時的權限檢驗
- 修改配置文件,在
[mysqld]下一行加入:
[mysqld]
skip-grant-tables
- 重啟
MySQL服務:
-
Windows:
- 推薦:
服務=>MySQl=>重啟此服務 - 依次執行
net stop mysql、net start mysql
- 推薦:
-
Linux:
- 啟動:
service mysql start
- 停止:
- 使用server方式:
service mysqld stop - 使用mysqladmin方式:
mysqladmin shutdown
- 使用server方式:
- 重啟:
service mysqld restartservice mysql restart(5.5.7版本命令)
- 啟動:
重新登錄MySQL
- 重啟后,用
mysql -uroot -p登錄:
- 可以
不需要密碼就可以登陸,因為跳過了登陸時的權限檢驗。
mysql -uroot -p

設置新的密碼
- 選擇
mysql數據庫:
use mysql
- 修改密碼:
update user set authentication_string = password ('new-password') where user = 'root';
這里要更改的是
authentication_string, 而不是 ``password` 字段。否則就像下面的報錯:mysql> update user set Password=password('new-password') where user='root'; ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
- 刪除配置文件中在
[mysqld]下一行加入的:
[mysqld]
skip-grant-tables
- 重啟
MySQL服務
驗證新密碼登錄
- 使用:
-
此時,需要
權限檢驗 -
務必刪除配置文件中的
skip-grant-tables,為了數據庫的安全。
mysql -uroot -p
總結
以上所有的命令行過程,如下圖:



