資料庫管理員的職責
伺服器的啟動與關閉
使用者帳戶維護
記錄檔維護
資料庫的備份與拷貝
伺服器的最佳化
資料庫管理系統的軟體更新
資料目錄的安全性
伺服器的安全性
災難恢複
預防性維護
``````````````````````````````````````````````````
資料庫的啟動與關閉
1、資料庫的啟動:
方法一:使用service 命令啟動MySQL
# service mysqld start
// mysqld是MySQL的守護進程,通過運行它來啟動MySQL服務。
方法二:使用mysqld指令碼啟動MySQL
# /etc/init.d/mysqld start
方法三:使用safe_mysqld公用程式啟動MySQL服務,此方法可以使用相關參數
# safe_mysqld&
使用&符號將safe_mysqld放在後台運行。
```````````````````````````````````````````````````````````
校正MySQL是否被啟動:
# service mysqld status
//返回如下資訊,表示已經啟動
mysqld (pid 1663) is running...
//1663是mysqld啟動並執行進程號,可能根據不同系統啟動並執行進程數量而不同
若需要重新啟動MySQL可以使用如下命令之一:
# service mysqld restart
# /etc/init.d/mysqld restart
````````````````````````````````````````````````````````
2、資料庫的關閉:
可以使用如下命令之一:
# service mysqld stop
# /etc/init.d/mysqld stop
# /mysqladmin shutdown
MySQL管理
修改root管理密碼
方法一:
mysql>set password for ‘帳號'@‘主機' = old_password(‘密碼');
update mysql.user set password = old_password(‘密碼') where host = ‘主機' and user = ‘帳號';
flush privileges;
方法二:
mysqladmin password 'crq'
使用者密碼
對於MySQL密碼可以使用PASSWORD()和ENCRYPT()函數進行加密
mysql>select PASSWORD(“alex”);
“23fc96e064be0017”
註:ENCRYPT()在Windows上不可用
方法三:使用update語句和password()函數將root口令設定為crp。
mysql> update user set password=password('crq')
-> where user='root';
//返回如下資訊,表示授權表user修改成功
Query OK, 2 row affected (0.09 sec)
Rows matched:2 changed:2 warnings: 0
注意:由此種方法是直接對授權表user進行修改,而伺服器只有在啟動時才會載入授權表中的使用權限設定,因此必須要使用用戶端程式mysql環境下的flush privileges命令或使用管理工具mysqladmin的flush-privileges子命令通知伺服器重新載入授權表。
mysql> flush privileges; //此時即生效可以使用。
```````````````````````````````````````````````````````````````````
改變資料庫儲存路徑
在Window下,MySQL的所有資料庫都儲存在“%mysqlroor%\data”目錄下。
停止MySQL服務
修改%systemroor%\my.ini檔案
[mysqld]
datadir=D:/data
將原目錄中的所有檔案和檔案夾內容,全部移動到新的目錄D:/data目錄中。
重啟MySQL服務
修改MySQL字元集
找到MySQL設定檔my.ini,一般在C:\window\my.ini。
在my.ini檔案裡面加上“default-character-set=gbk #”或gb2312,utf8
重啟MySQL服務
刪除匿名使用者:
myslq> delete from user where user=' ';
//返回如下資訊,表示匿名使用者刪除成功
Query OK, 2 row affected (0.03 sec)
添加新的使用者權限:
使用grant語句用於授予使用者權限,
文法:
GRANT priv_type[(column_list)][,priv_type[(column_list)]…]
ON {*.* | * | db_name.* | db_name.tabl_name | db_name}
TO user_name [IDENTIFIED BY ‘password']
[,user_name [IDENTIFIED BY ‘password']…]
[WITH GRANT OPTION]
建立新使用者
制定使用者名稱,最長允許為16個英文字元
制定允許該使用者可以訪問的資料庫和表
制定允許該使用者對資料庫做什麼的操作
制定允許該使用者從哪些主機/IP進行遠端連線
制定允許該使用者對其他使用者進行授權或取消授權
例如:添加一個可以從本地主機串連到MySQL伺服器的超級使用者crq,但是串連時必須使用口令crqpass
mysql> grant all on *.* to crq@localhost identfied by 'crqpass' with grant option;
//返回如下資訊,表明使用權限設定成功
Query OK, 0 rows affected (0.02 sec)
例如:使用同樣的方法添加一個可以從其他任何地方串連到MySQL伺服器的超級使用者crq,但是串連時必須使用口令crqpass
mysql> grant all on *.* to crq@'%' identified by ‘crqpass' with grant option;