ubuntu系統下mysql重置密碼和修改密碼操作
一、忘記密碼后想重置密碼
在介紹修改密碼之前,先介紹一個文件/etc/mysql/debian.cnf.其主要內容如下圖:
里面有一個debian-sys-maint用戶,這個用戶只有Debian或Ubuntu服務器才有,所以如果您的服務器是Debain或Ubuntu,debian-sys-maint是個Mysql安裝之后自帶的用戶,具體作用是重啟及運行mysql服務。所以如果忘了root密碼,可以通過這個用戶來重設密碼。下面介紹具體操作:
操作步驟
1.進入/etc/mysql/目錄,並用root權限打開debian.cnf文件
> cd /etc/mysql
> sudo vim debian.cnf
2.使用這個文件中的用戶名和密碼進入mysql
> mysql -u debian-sys-maint -p
然后輸入文件中的password值,即可進入mysql。
3.選擇mysql數據庫(用戶名和密碼均存儲在此數據庫的user表中)
> use mysql;
4.顯示user表中的列
>show fields from user; 或者(describe user;)
authentication_string這列就是密碼(注:以前的版本這個字段是password,如果是password下面的操作將authentication_string替換成password即可)
5.修改密碼(修改密碼為:123456)
update mysql.user set authentication_string=password('123456') where user='root'
6. 退出
>exit
7. 重啟mysql
service mysql restart
二、修改密碼
1. 查看mysqladmin命令
> sudo mysqladmin
password選項是用於修改密碼的
2. 修改密碼
> sudo mysqladmin -u root -p password
3. 重啟mysql服務
> sudo service mysql restart
三、修改port
1.修改port
> sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
修改mysqld.cnf文件里的port即可
2. 重啟mysql服務
> service msyql restart
四、添加用戶
1.進入mysql
> sudo mysql -u root -p
輸入密碼,進入mysql
2.添加用戶
> insert into mysql.user(Host,User,authentication_string) values("localhost","test",password("123456"));
mysql 設置字符集為 utf-8
由於 mysql 的默認字符集為 latin1,不滿足我們平常插入數據的需求,我們一般將其改為 utf-8。我們輸入如下命令:
sudo gedit /etc/mysql/my.cnf
在文件中添加這樣的語句:
[mysqld]
character_set_server = utf8
如果文件中已經存在 [mysqld] 字樣,直接添加第二句話在其下方即可。當然若有時插入數據還是有錯,可以將 utf8 改為 utf8mb4。