環境
ubuntu
情景忘記mysql root使用者密碼,現在需要重置root使用者密碼
解決1、停止mysql服務
$ service mysql stop
12、修改my.cnf檔案
# 查詢my.cnf檔案在**
$ find / -name my.cnf
/var/lib/dpkg/alternatives/my.cnf
/etc/alternatives/my.cnf
/etc/mysql/my.cnf
# 修改my.cnf檔案,在檔案新增 skip-grant-tables,在啟動mysql時不啟動grant-tables,授權表
$ vim /etc/mysql/my.cnf
[mysqld]
skip-grant-tables
3、啟動mysql服務
$ service mysql restart
14、更改mysql root使用者密碼
$ mysql
# 選擇mysql資料庫
mysql> use mysql;
# 更改user表中root使用者密碼
mysql> update user set authentication_string=password("new_pass") where user='root';
# 注意:可能不同的資料庫版本密碼的欄位名稱不一樣
# 我的資料庫版本是5.7.21,user表中的密碼欄位是:authentication_string
mysql> select version();
+-------------------------+
| version() |
+-------------------------+
| 5.7.21-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)
# 可以通過以下命令檢視user表的密碼欄位名稱
mysql> show create table user\g;
5、再次修改my.cnf檔案
需要把my.cnf配置檔案改回去,我們把skip-grant-tables注釋掉就可以了
$ vim /etc/mysql/my.cnf
[mysqld]
# skip-grant-tables12
36、再次重啟mysql
$ service mysql restart
# 現在我們可以用新root密碼登入mysql了
$ mysql -u root -p
這裡修改的密碼只能在本機上使用,遠端連線的密碼還是原來的老密碼,下面的語句可以讓密碼在遠端裡面的情況下也生效
grant all privileges on *.* to 'root'@'%' identified by '000000' with grant option;
query ok, 0 rows affected, 1 warning (0.00 sec)
ubuntu下修改mysql編碼格式的問題
ubuntu下mysql版本預設使用字符集為latin1,我用了一下兩個命令依然無法修改 set names utf8 charset utf8 於是參考網上修改配置檔案.我先是參照某部落格修改然後重啟mysql.結果可以重啟,但是使用mysql u root p進入失敗,顯示錯誤 error 20...
Ubuntu下修改mysql的字符集
show variables like character 修改mysql的配置 在etc mysql 下找到mysql.conf.d python ubuntu cd etc mysql python ubuntu etc mysql ls conf.d debian.cnf debian sta...
ubuntu下修改mysql5 7的密碼
首先,修改mysql配置文 vim etc mysql mysql.conf.d mysqld.cnf在skip external locking的下一行新增skip grant tables,跳過密碼校驗 user mysql pid file var run mysqld mysqld.pid ...