MySQL常用配置方法

此页由Linux Wiki用户Chenxing于2012年1月31日 (星期二) 05:53的最后更改。

出自Linux Wiki

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

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

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

反馈与讨论

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