MySQL常用配置方法
此頁由 Linux Wiki使用者Chenxing 於 2012年1月31日 (星期二) 05:53 的最後更改。
出自Linux Wiki
提示:此文已超过 12 年(4679 天)未更新,如发现内容过时或有误,欢迎改进:)
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
備份整個資料庫
要備份整個資料庫,包括所有的資料庫和用戶信息,可使用如下命令[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
提示:
導入時如遇Table 'mysql.servers' doesn't exist錯誤,請去掉flush privileges的行再導入,導入後按上述說明升級或運行mysql_fix_privilege_tables即可。[2]
導入時如遇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,導入數據即可。
參考資料
- ↑ Stack Overflow: mysqldump and database users
- ↑ LinuxHostingSupport: Table mysql.servers doesn't exist: Problem adding a database user in plesk Or restarting mysql
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。