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
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。