在Ubuntu系統剛安裝完mysql數據庫時可能系統會默認給你設置一個root用戶的密碼,但是我們不知道密碼是多少,者時候我們可以通過下面的方式來改變root用戶的密碼。
-
用SET PASSWORD命令
首先登錄MySQL
格式:mysql> set password for 用戶名@localhost = password(‘新密碼’);
例子:mysql> set password for root@localhost = password(‘123’);
-
用mysqladmin
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼 例子:mysqladmin -uroot -p123456 password 123
-
用UPDATE直接編輯user表
首先登錄MySQL
mysql> use mysql;
mysql> update user set password=password("123") where user="root" and host="localhost";
mysql> flush privileges;
-
在忘記root密碼的時候,可以這樣 ,以windows為例:
-
關閉正在運行的MySQL服務
-
打開DOS窗口,轉到mysql\bin目錄
-
輸入mysqld –skip-grant-tables 回車。–skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證
-
再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),轉到mysql\bin目錄
-
輸入mysql回車,如果成功,將出現MySQL提示符 >
-
連接權限數據庫: use mysql;
-
改密碼:update user set password=password(“123”) where user=”root”;(別忘了最后加分號)
-
刷新權限(必須步驟):flush privileges;
-
退出 quit
-
注銷系統,再進入,使用用戶名root和剛才設置的新密碼123登錄
-
解決mysql創建數據庫使出現的編碼問題
在/etc/mysql/my.cnf中引用了conf.d中的文件,所以直接在/etc/mysql/conf.d/mysql.cnf進行修改。
首先查看一下mysql的編碼,進入mysql命令行
mysql> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ //或者 mysql> status; -------------- mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper Connection id: 3 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 3 hours 35 min 40 sec
這里需要設置[mysqld]的character-set-server = utf8
//mysql.cnf [mysqld] character-set-server = utf8
然后重啟mysql服務,在命令行輸入
service mysql restart
如果你不想這么麻煩,可以在創建數據庫的時候設置編碼為utf8即可
使用如下命令:
CREATE DATABSE db_name DEFUALT CHARACTER SET utf8;