修改mysql中root用戶的密碼的方式


在Ubuntu系統剛安裝完mysql數據庫時可能系統會默認給你設置一個root用戶的密碼,但是我們不知道密碼是多少,者時候我們可以通過下面的方式來改變root用戶的密碼。

  1. 用SET PASSWORD命令

    首先登錄MySQL

    格式:mysql> set password for 用戶名@localhost = password(‘新密碼’);

    例子:mysql> set password for root@localhost = password(‘123’);

  2. 用mysqladmin

    格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼  例子:mysqladmin -uroot -p123456 password 123

  3. 用UPDATE直接編輯user表

    首先登錄MySQL

    mysql> use mysql;

    mysql> update user set password=password("123") where user="root" and host="localhost";

    mysql> flush privileges;

  4. 在忘記root密碼的時候,可以這樣 ,以windows為例:

    1. 關閉正在運行的MySQL服務

    2. 打開DOS窗口,轉到mysql\bin目錄

    3. 輸入mysqld –skip-grant-tables 回車。–skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證

    4. 再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),轉到mysql\bin目錄

    5. 輸入mysql回車,如果成功,將出現MySQL提示符 >

    6. 連接權限數據庫: use mysql;

    7. 改密碼:update user set password=password(“123”) where user=”root”;(別忘了最后加分號)

    8. 刷新權限(必須步驟):flush privileges;

    9. 退出 quit

    10. 注銷系統,再進入,使用用戶名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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM