MySQL常用配置方法

此頁由 Linux Wiki用戶Chenxing 於 2012年1月31日 (星期二) 05:53 的最後更改。

出自Linux Wiki

提示:此文已超过 12 年(4711 天)未更新,如发现内容过时或有误,欢迎改进:)

MySQL是常見的數據庫服務器軟件,本文介紹架設MySQL服務器時常用配置操作的實現方法。

目錄

修改root密碼

多數發行版附帶的MySQL默認是無root密碼的,這是危險的,建議運行如下命令設置root密碼並增強安全性:

mysql_secure_installation

如果只是想修改root密碼,也可在MySQL交互終端下輸入:

UPDATE mysql.USER SET password=PASSWORD('新密码') WHERE USER='root';
FLUSH privileges;

添加數據庫和相應的用戶

常需要添加一個數據庫,並添加一個可控制該數據庫的用戶,這兩個操作可用如下幾條命令完成:

CREATE DATABASE 数据库名;
GRANT ALL privileges ON 数据库名.* TO 新用户名@localhost IDENTIFIED BY '密码';
FLUSH privileges;

配置語言

為了避免亂碼的出現,強烈裝好服務器就設置編碼為UTF-8,設置方法很簡單,編輯/etc/my.cnf文件,在[mysqld]一節中加入:

default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci

備份和還原

在命令行中mysqldump命令可用於備份,也可使用phpMyAdmin通過網頁進行有選擇的備份。

備份單個數據庫

使用mysqldump備份:

mysqldump -u root -p --opt database_name > database_dump.sql
Note.gif
注意:
用戶和相關權限信息不會被備份,如要備份這些信息,請備份mysql數據庫或備份整個數據庫。

備份整個數據庫

要備份整個數據庫,包括所有的數據庫和用戶信息,可使用如下命令[1]

mysql -u root -p --all-databases --add-drop-database --flush-privileges > all_dump.sql

還原

還原時,只需讓mysql執行備份文件即可。可以在mysql中使用source命令執行sql,也可以直接把文件重定向到mysql的輸入:

mysql -u root -p -D database_name < database_dump.sql

如果備份環境和還原環境的MySQL版本不同,應用mysql_upgrade升級數據庫文件:

mysql_upgrade -u root -p
Hint.gif
提示:
導入時如遇Table 'mysql.servers' doesn't exist錯誤,請去掉flush privileges的行再導入,導入後按上述說明升級或運行mysql_fix_privilege_tables即可。[2]

導入4.0以前版本的數據

導入4.0以前版本MySQL的數據時,可能會出現亂碼。如果是因為在老版數據庫上使用了UTF-8編碼,那麼可以這樣解決:

首先,4.0備份出來的一般是latin1編碼,要在sql文件里寫明是utf-8編碼(如果是其它編碼,請在確認後標明)

/*!40101 SET NAMES utf-8 */;

再將數據庫的編碼設為UTF-8,導入數據即可。

參考資料

  1. Stack Overflow: mysqldump and database users
  2. LinuxHostingSupport: Table mysql.servers doesn't exist: Problem adding a database user in plesk Or restarting mysql

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换