mysql資料庫用戶管理,資料庫管理系統的用戶

本文目錄一覽:

如何使用phpmyadmin管理mysql資料庫

1、新建資料庫:

進入phpmyadmin管理界面以後,找到如下文字「創建一個新的資料庫」,然後在下面填上要新建的資料庫的名稱,在後面的下拉列表中選擇資料庫的編碼,如「utf8_general_ci」,點擊「創建」按鈕,這樣就新建了一個資料庫。

2、新建此資料庫的對應帳戶

在phpmyadmin管理界面點擊「許可權」,打開鏈接,點擊「添加新用戶」,在打開的頁面中會看到「登入信息」,輸入用戶名、主機(一般為本地:localhost)、密碼後,因為我們現在是要給單個用戶配置單個資料庫的許可權,所以我們在這裡不選擇「全局許可權」,然後點擊最下面的「執行」按鈕,這樣就新建了一個用戶名。

3、為新建的用戶添加此資料庫許可權

添加完用戶以後,管理界面的上方會提示「您已添加了一個新用戶」,我們現在就給新建的用戶添加許可權,在下面找到「按資料庫指定許可權」,然後點擊「在下列資料庫添加許可權」後面的下拉列表,選擇資料庫,選擇數據下面的全部,然後選擇結構除了最下面三個以外的複選框,其他一律不選,然後點擊「執行」按鈕,這樣就配置好了這個用戶完全管理這個資料庫的許可權了。

註:

1、因為我們只是要給這個用戶管理這個資料庫的全部許可權,但是沒有其他資料庫的管理許可權,所以在配置許可權的時候一定要注意。

2、INFORMATION_SCHEMA是信息資料庫,其中保存著關於MySQL伺服器所維護的所有其他資料庫的信息。假如不想在phpMyAdmin中顯示的話只需要設置在config.inc.php(有的是config.default.php)中設置這樣一句:$cfg[‘Servers’][$i][‘hide_db’]

= 『information_schema’;

此外,如果在創新用戶時,選擇「用戶資料庫」中的「給以 用戶名_ 開頭的資料庫 (username\_%)

授予所有許可權」選項,新建的用戶就可以自己創建以「username_」開頭的資料庫。

MySQL 8.0.23 資料庫用戶管理、許可權分配和遠程連接

這個目前應該是MySQL比較新的版本了,教程僅在Linux平台上驗證通過,其他平台請自證。提供步驟和思路方便快速分析和定位問題。

根據需求在完成理解前面步驟後,接下來需要配置允許遠程連接(生產環境請通過ssh隧道方式,且mysql配置文件bind-address為特定ip或本機)

最後,感謝您的閱讀,由於時間倉促,文章內容難免有不妥之處,歡迎交流和指正~~

Mark一下 惟月慎行 再也不會迷路了^_^!

為什麼mysql需要用戶管理

MySQL 是一個多用戶資料庫,具有功能強大的訪問控制系統,可以為不同用戶指定不同許可權。為了實際項目的需要,可以創建擁有不同許可權的普通用戶。

怎麼在mysql中 配置canal資料庫管理用戶,配置相應許可權

在mysql中 配置canal資料庫管理用戶,配置相應許可權

# mysql -uroot -proot

CREATE USER canal IDENTIFIED BY ‘canal’;

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘canal’@’%’ IDENTIFIED BY ‘canal’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

安裝canal

本文使用的是:canal.deployer-1.0.22.tar.gz

# mkdir canal

# tar -zxvf canal.deployer-1.0.22.tar.gz -C canal

修改配置信息:

# vim conf/canal.properties

canal.id= 1

canal.ip=

canal.port= 11111

canal.zkServers=192.168.10.1:2181

# vim conf/example/instance.properties

## mysql serverId

canal.instance.mysql.slaveId = 1234

# position info, 需要改成自己的資料庫信息

canal.instance.master.address = 127.0.0.1:3306

# username/password,需要改成自己的資料庫信息

canal.instance.dbUsername = canal

canal.instance.dbPassword = canal

mysql怎樣對用戶做安全性管理

你可以這樣操作。

如果MYSQL客戶端和伺服器端的連接需要跨越並通過不可信任的網路,那麼需要使用ssh隧道來加密該連接的通信。

使用set password語句來修改用戶的密碼,先「mysql -u root」登陸資料庫系統,然後「mysql update mysql.user set password=password(『newpwd』)」,最後執行「flush privileges」就可以了。

Mysql需要提防的攻擊有,防偷聽、篡改、回放、拒絕服務等,不涉及可用性和容錯方面。對所有的連接、查詢、其他操作使用基於acl即訪問控制列表的安全措施來完成。也有一些對ssl連接的支持。

設置除了root用戶外的其他任何用戶不允許訪問mysql主資料庫中的user表;加密後存放在user表中的加密後的用戶密碼一旦泄露,其他人可以隨意用該用戶名/密碼相應的資料庫;

使用grant和revoke語句來進行用戶訪問控制的工作;

不要使用明文密碼,而是使用md5()和sha1()等單向的哈系函數來設置密碼;

不要選用字典中的字來做密碼;

採用防火牆可以去掉50%的外部危險,讓資料庫系統躲在防火牆後面工作,或放置在dmz區域中;

從網際網路上用nmap來掃描3306埠,也可用telnet server_host 3306的方法測試,不允許從非信任網路中訪問資料庫伺服器的3306號tcp埠,需要在防火牆或路由器上做設定;

為了防止被惡意傳入非法參數,例如where id=234,別人卻輸入where id=234 or 1=1導致全部顯示,所以在web的表單中使用」或」”來用字元串,在動態url中加入%22代表雙引號、%23代表井號、%27代表單引號;傳遞未檢查過的值給mysql資料庫是非常危險的;

在傳遞數據給mysql時檢查一下大小;

應用程序需要連接到資料庫應該使用一般的用戶帳號,開放少數必要的許可權給該用戶;

在各編程介面(c c++ php perl java jdbc等)中使用特定『逃脫字元』函數;在網際網路上使用mysql資料庫時一定少用傳輸明文的數據,而用ssl和ssh的加密方式數據來傳輸;

學會使用tcpdump和strings工具來查看傳輸數據的安全性,例如tcpdump -l -i eth0 -w -src or dst port 3306 strings。以普通用戶來啟動mysql資料庫服務;

不使用到表的聯結符號,選用的參數 –skip-symbolic-links;

確信在mysql目錄中只有啟動資料庫服務的用戶才可以對文件有讀和寫的許可權;

不許將process或super許可權付給非管理用戶,該mysqladmin processlist可以列舉出當前執行的查詢文本;super許可權可用於切斷客戶端連接、改變伺服器運行參數狀態、控制拷貝複製資料庫的伺服器;

file許可權不付給管理員以外的用戶,防止出現load data 『/etc/passwd』到表中再用select 顯示出來的問題;

如果不相信dns服務公司的服務,可以在主機名稱允許表中只設置ip數字地址;

使用max_user_connections變數來使mysqld服務進程,對一個指定帳戶限定連接數;

grant語句也支持資源控制選項;

啟動mysqld服務進程的安全選項開關,–local-infile=0或1 若是0則客戶端程序就無法使用local load data了,賦權的一個例子grant insert(user) on mysql.user to 『user_name』@’host_name』;若使用–skip-grant-tables系統將對任何用戶的訪問不做任何訪問控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟訪問控制;默認情況是show databases語句對所有用戶開放,可以用–skip-show-databases來關閉掉。

碰到error 1045(28000) access denied for user 『root』@’localhost』 (using password:no)錯誤時,你需要重新設置密碼,具體方法是:先用–skip-grant-tables參數啟動mysqld,然後執行 mysql -u root mysql,mysqlupdate user set password=password(『newpassword』) where user=』root』;mysqlflush privileges;,最後重新啟動mysql就可以了。

原創文章,作者:FBGL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137849.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FBGL的頭像FBGL
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:18

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python中接收用戶的輸入

    Python中接收用戶的輸入是一個常見的任務,可以通過多種方式來實現。本文將從以下幾個方面對Python中接收用戶的輸入做詳細闡述。 一、使用input函數接收用戶輸入 Pytho…

    編程 2025-04-29
  • Python彈框讓用戶輸入

    本文將從多個方面對Python彈框讓用戶輸入進行闡述,並給出相應的代碼示例。 一、Tkinter彈窗 Tkinter是Python自帶的圖形用戶界面(GUI)庫,通過它可以創建各種…

    編程 2025-04-28
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28

發表回復

登錄後才能評論