MySQL數據庫平安設置與留意事項小結。本站提示廣大學習愛好者:(MySQL數據庫平安設置與留意事項小結)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL數據庫平安設置與留意事項小結正文
當你第一次在機械上裝置MySQL時,mysql數據庫中的受權表是如許初始化的:
你可以從當地主機(localhost)上以root銜接而不指定口令。root用戶具有一切權限(包含治理權限)
並可做任何工作。(趁便解釋,MySQL超等用戶與Unix超等用戶有雷同的名字,他們彼此毫有關系。)
匿名拜訪被授與用戶可從當地銜接名為test和任何名字以test_開端的數據庫。匿名用戶可對數據庫做任
何工作,但無治理權限。
從當地主機多辦事器的銜接是許可的,不論銜接的用戶應用一個localhost主機名或真實主機名。如:
% mysql -h localhost test
% mysql -h pit.snake.net test
你以root銜接MySQL乃至不指定口令的現實只是意味著初始裝置不平安,所以作為治理員的你起首要做的
應當是設置root口令,然後依據你設置口令應用的辦法,你也能夠告知辦事重視載受權表是它曉得這個改
變。(在辦事器啟動時,它重載表到內存中而能夠不曉得你曾經修正了它們。)
對MySQL 3.22和以上版本,你可以用mysqladmin設置口令:
% mysqladmin -u root password yourpassword
關於MySQL的任何版本,你可以用mysql法式並直接修正mysql數據庫中的user受權表:
% mysql -u root mysql
mysql>UPDATE user SET password=PASSWORD("yourpassword") WHERE User="root";
假如你有MySQL的老版本,應用mysql和UPDATE。
在你設置完口令後,經由過程運轉以下敕令檢討你能否須要告知辦事重視載受權表:
% mysqladmin -u root status
假如辦事器依然讓你以root而不指定口令而銜接辦事器,重載受權表:
% mysqladmin -u root reload
在你設置了root的口令後(而且假如須要重載了受權表),你將須要在任什麼時候候以root銜接辦事器時指定
上面是我整頓的一些辦法
起首讓mysql以通俗用戶權限運轉mysql。相似sqlserver的設置辦法,假如不會的同伙可使用對象完成。
1.設置或修正Mysql root暗碼:
默許裝置後空暗碼,以mysqladmin敕令設置暗碼:
上岸mysql:
mysqladmin -uroot password "password";
Mysql敕令設置暗碼:
mysql> set password for root@localhost=password('password);
更改暗碼:
update mysql.user set password=password('password') where user='root';
flush privileges;
2.刪除默許的數據庫和用戶
drop database test;
use mysql;
delete from db;
delete from user where not(host="localhost" and user="root");
flush privileges;
3. 更改默許root賬號稱號:
update mysql.user set user="admin" where user="root";
flush privileges;
4. 當地文件平安:
set-variable=local-infile=0
5. 制止長途銜接mysql,長途治理可經由過程phpmyadmin,編纂my.cnf在[mysqld]添加:
skip-networking
6.最小權限用戶:
create database db1;
grant select,insert,update,delete,create,drop privileges on database.* to user@localhost identified by 'passwd';
7. 限制通俗用戶閱讀其它數據庫,編纂my.cnf在[mysqld]添加:
--skip-show-database8
.疾速修復MySQL數據庫
修單數據庫
mysqlcheck -A -o -r -p修復指定的數據庫
mysqlcheck -o -r database -p
9.跟據內存的年夜小選擇MySQL的設置裝備擺設文件:
my-small.cnf # > my-medium.cnf # 32M - 64M
my-large.cnf # memory = 512M
my-huge.cnf # 1G-2G
my-innodb-heavy-4G.cnf # 4GB