樹莓派4安裝mysql


mysql安裝
sudo apt install mariadb-server

設置密碼
sudo mysql_secure_installation


Raspberrypi 安裝完MySQL之后登錄不了(ERROR 1698 (28000)),只能sudo登錄

問題原因

出現這是錯誤是因為 mysql 默認的 root 用戶使用了 UNIX auth_socket_plugin 的用戶認證方式,我們有下面兩種方式處理問題:

1.修改 root 用戶認證方式為 mysql_native_password plugin,即改為使用密碼登錄
2.使用系統當前的用戶名創建一個數據庫用戶(推薦)

方法一:修改 root 用戶認證方式為 mysql_native_password plugin
首先登陸MySQL使用sudo.
sudo mysql -uroot
修改MySQL-root用戶的登陸方式.
USE mysql;
UPDATE user SET plugin= 'mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
exit;
重啟MySQL服務,登陸root用戶

方法二:創建新的MySQL User
use mysql;
select user,host,plugin from user;
create user 'pi'@'localhost' identified by 'mysql';
create user 'pi'@'%' identified by 'mysql';
update user set plugin='unix_socket' where user='pi';
select user,host,plugin from user;
flush privileges;

添加權限

grant all privileges on * to pi@'localhost' identified by 'mysql';
grant all privileges on * to pi@'%' identified by 'mysql';
flush privileges;

檢查權限

show grants for 'pi';

mysql 用法備注
1.PrivilegesCode表示授予的權限類型,常用的有以下幾種類型:

all privileges:所有權限。
select:讀取權限。
delete:刪除權限。
update:更新權限。
create:創建權限。
drop:刪除數據庫、數據表權限。
2.DbName.tableName表示授予權限的具體庫或表,常用的有以下幾種選項:

.*:授予該數據庫服務器所有數據庫的權限。
dbName.*:授予dbName數據庫所有表的權限。
dbName.dbTable:授予數據庫dbName中dbTable表的權限。
3.Username@host表示授予的用戶以及允許該用戶登錄的IP地址。其中Host有以下幾種類型:

localhost:只允許該用戶在本地登錄,不能遠程登錄。
%:允許在除本機之外的任何一台機器遠程登錄。
192.168.52.32:具體的IP表示只允許該用戶從特定IP登錄。
password指定該用戶登錄時的頁面。
flush privileges表示刷新權限變更。

刪除一個用戶
drop user命令會刪除用戶以及對應的權限,執行命令后你會發現mysql.user表和mysql.db表的相應記錄都消失了。
drop user 'pi'@'%';


轉載鏈接
https://www.cnblogs.com/uestc-mm/p/11460206.html


免責聲明!

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



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