本文目錄一覽:
- 1、如何使用phpmyadmin管理mysql數據庫
- 2、MySQL 8.0.23 數據庫用戶管理、權限分配和遠程連接
- 3、為什麼mysql需要用戶管理
- 4、怎麼在mysql中 配置canal數據庫管理用戶,配置相應權限
- 5、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