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

  mysqlUPDATE 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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章