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-hk/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

發表回復

登錄後才能評論