在 mysql 命令行內切換用戶有三種方法
創新互聯長期為成百上千客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為宜豐企業提供專業的成都網站制作、成都網站設計,宜豐網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發。
第一種方法
1、dos進入mysql安裝bin目錄下: cd C:\Program Files\MySQL\MySQL Server 5.5\bin
2、輸入:mysql 備注二 -u root -p db
3、輸入用戶密碼
第二種方法
1、dos下輸入:"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" "--defaults-file=C:\Program Files\MySQL\MySQL Server 5.5\my.ini" "-h192.168.1.123" "-uroot" "-ppwd"
第三種方法
1、dos進入mysql安裝bin目錄下: cd C:\Program Files\MySQL\MySQL Server 5.5\bin
2、輸入:mysql 備注二 -u root -p pwd
備注一:C:\Program Files\MySQL\MySQL Server 5.5為mysql的安裝目錄;root為用戶名;pwd為用戶密碼;db為數據庫名稱;192.168.1.123為主機ip地址。
備注二:測試出現此錯誤,ERROR 1045 (28000): Access denied for user 'wotuser'@'localhost' (using password: YES)可加上主機ip地址:-h 192.168.1.123。
你好,
方法1 用SET PASSWORD命令
1
1、打開終端win+r輸入cmd回車即可打開;
2、通過mysql -u用戶名 -p指定root用戶登錄MySQL,輸入后回車會提示輸入密碼。
3、修改MySQL的root用戶密碼,格式:mysql set password for 用戶名@localhost = password('新密碼'); 例子:mysql set password for root@localhost = password('shapolang'); 上面例子將用戶root的密碼更改為shapolang ;
重新登錄,輸入新密碼shapolang就ok了;
END
方法2 用mysqladmin
1
1、打開終端win+r輸入cmd回車即可打開;
2、修改MySQL的root用戶密碼格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼 例子:mysqladmin -uroot -pshapolang password 123456
上面例子將用戶root原來的密碼shapolang改為新密碼123456
重新登錄,輸入新密碼123456就ok了;
END
方法3 用UPDATE直接編輯user表
1
1、首先登錄MySQL。
2、 連接權限數據庫: use mysql; 。3、改密碼:update user set password=password("shapolang") where user="root";(別忘了最后加分號) 。 4、刷新權限(必須步驟):flush privileges;
重新登錄,輸入新密碼shapolang就ok了;
END
方法4 忘記root密碼的時候
1
1、關閉正在運行的MySQL服務。
2、打開DOS窗口,轉到mysql\bin目錄。 3、 輸入mysqld --skip-grant-tables 回車。--skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證。 4、再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),輸入mysql回車,如果成功,將出現MySQL提示符 。 6、連接權限數據庫: use mysql; 。 7、改密碼:update user set password=password("root") where user="root";(別忘了最后加分號) 。 8、刷新權限(必須步驟):flush privileges; 。 9、退出 quit。
重啟mysql服務,使用用戶名root和剛才設置的新密碼root登錄就ok了;
在MySQL中修改用戶的語法如下:
看了這么一大坨東西,感覺啥也沒有告訴我,一臉懵逼。下面我們一起來解讀一下具體的每一個選項的含義。
對于這個大家應該有所了解。
首先它是被中括號包裹起來的,表示是可選的不是必須的,也就是說在我們的 alter user 語句中,這個 IF EXISTS 可以不出現不是必須要寫的。但是為什么還要有這個呢,這個選項出現的目的是為了讓你在執行一個 alter user 語句的時候,如果語句中指定的數據庫用戶不存在(或者你寫用戶名稱的是寫錯了),而不至于出現一個錯誤的信息,如果指定了 IF EXISTS 這個詞,他就會以一個警告的信息提示你而不是直接給你一個錯誤信息。
更直白一下就是:如果你的 alter user 的語句中指定的用戶確實存在,那么就執行你的語句,如果不存在呢,就不執行你的語句,跳過這個 alter user 的指令。看示例:
在上面的例子中,第一個修改用戶的語句,沒有使用 if exists 關鍵詞直接修改了一個不存在的用戶的信息,結果直接出現了錯誤信息,接著我們使用了 if exists 關鍵詞,結果SQL語句執行成功,只是出現了一個 warning 警告,然后我們通過 show warnings 命令查看警告信息的內容,提示我們用戶 'zhangsanfeng'@'%' 不存在。這就是 if exists 關鍵詞的存在的意義。
當我們修改一個用戶的信息的時候,我們需要指定用戶的名稱。這個名稱,不僅僅使我們平時登錄數據庫的時候,輸入的用戶的名字,還有一個隱含的部分就是用戶登錄的 host 網段,這個網段表示只允許該用戶通過這個網段登錄,如果用戶不在這個定義的網段內,即便是用戶名和密碼正確,也不能爭取的登錄。
下面的創建用戶是兩個不同的用戶。
上面的兩個用戶中,分別表示如下:
當然,我們可以使用模糊匹配的方式來限定用戶登錄的網段,比如我們創建下面第一個用戶表示只要這個用戶登錄的時候,使用的主機的IP地址是在 10.10.0.0~10.10.255.255 這個網段質檢的任何一個IP地址都可以登錄。
特殊的網段 localhost 。如果我們創建如下的用戶,則表示該用戶只能在 MySQL 數據庫所在的服務器本機上登錄。
還有另外一個特殊的網段 % 。它表示用戶可以通過任何一個IP地址來登錄,不對用戶登錄的主機所在的網段做任何限制。如下用戶就是不對它登錄的主機IP地址做任何限制。
auth_option 選項的含義表示指定用戶登錄數據庫的時候使用的驗證插件和密碼。它的選項有如下幾種,下面我們分別展開分析一下各個選項的使用場景和示例。
如果在 IDENTIFIED 關鍵字后面沒有使用 WITH 關鍵字指定使用的密碼插件名稱,則會使用 MySQL 默認的密碼插件。對于 MySQL 默認的密碼插件是什么,可以使用下面的命令進行查看:
通過上面的輸出,我們可以看出默認的密碼插件采用的是 mysql_native_password 插件,參數 default_authentication_plugin 的值是可以在 MySQL 的配置文件 my.cnf 中指定的,它可以有以下兩種取值:
MySQL 的配置文件 my.cnf 中配置默認的密碼認證插件的方式如下:
如果我們要修改某一個用戶的密碼認證插件,就可以使用到 IDENTIFIED WITH auth_plugin 這個語句了。如果一個用戶它的密碼認證插件使用的是默認的 mysql_native_password ,我們想把它的密碼認證插件修改為 sha256_password ,此時我們就可以使用下面的命令來修改:
執行完成上述命令后, xyz 這個用戶的密碼就會設置為空,并更新它的密碼為已經過期,同時更新了它的密碼認證插件為 sha256_password ,結果如下所示:
更改用戶的密碼認知方式之后,當 xyz 再次嘗試登錄 MySQL 數據庫的時候,輸入空密碼登錄成功后,會要求其修改一下自己的密碼,然后才可以執行其他SQL語句的操作,這個要求和我們剛安裝 MySQL 數據庫后,第一次使用 root 登錄的時候要求修改 root 的密碼是一樣的。下面是修改完成用戶 xyz 的密碼認證插件之后,嘗試使用空密碼登錄后的操作示例:
指定用戶的密碼認證插件,并設置密碼。
當我們想給用戶指定密碼的認證插件,并且想為其設置密碼的時候,可以使用這個命令,示例如下:
這樣用戶 xyz 的密碼認證方式修改為了 mysql_native_password ,并且修改它的密碼為 xyz 。需要我們主要的是 by 關鍵字后面跟的是密碼的明文,也就是我們嘗試登錄的時候,輸入的密碼的值。
指定用戶的密碼認證插件,并設置密碼。
當我們想給用戶指定密碼的認證插件,并且想為其設置密碼的時候,可以使用這個命令,示例如下:
這樣用戶 xyz 的密碼認證方式修改為了 mysql_native_password ,并且修改它的密碼為 xyz 。需要我們主要的是 as 關鍵字后面跟的是加密后的密碼,而不是我們的明文的密碼。如果我們想知道得到一個加密后的密碼,則可以使用下面 password() 函數來得到加密后的密碼。
這里主要是指定用戶在連接到MySQL數據庫的時候,是否需要使用加密的方式,如果使用加密的方式,則需要啟用SSL加密協議,同時也需要對MySQL進行證書的配置。
考慮到性能的問題,使用TLS加密的方式連接MySQL數據庫會對MySQL數據庫的性能有一定的影響。非必要情況下,一般不建議啟用TLS加密連接到數據庫,因為大家的MySQL數據庫一般都是針對內網開放的。所以,啟用TLS加密協議連接沒有必要。
resource_option 選項中,主要是為每一個用戶設置它所能使用到資源,做資源的使用限制。示例如下:
上面四個參數的值如果為 0 ,則表示對應的資源限制不做任何限制。
password_option 選項用來配置用戶的密碼,指定其密碼的效期。下面看幾個示例:
對于MySQL系統默認的有效期是多少,可以通過如下命令查看,下面的值為 0 表示密碼有效期為永久有效。
lock_option 選擇是用來鎖定和解鎖用戶的。示例如下:
當前名稱:mysql怎么更改用戶,mysql 修改用戶
網頁地址:http://m.newbst.com/article18/phhegp.html
成都網站建設公司_創新互聯,為您提供動態網站、靜態網站、網站改版、網站維護、云服務器、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯