Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344897
  • 博文数量: 59
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 646
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 12:09
文章分类

全部博文(59)

文章存档

2009年(2)

2008年(57)

我的朋友

分类: LINUX

2008-11-27 14:25:33

配置 MySQL

Amarok 对 SMySQL 的支持

Amarok 1.2 及更高版本,除了内置的 SQLite 数据库引擎,还支持以 MySQL 作为数据库后台。为了能在编译后获得 MySQL 支持,你需要在编译的时候加上 " --enable-mysql "这个配置参数,然后再以 root 权限执行 " install ",你的配置行可能就像这样子:

$ ./configure --enable-mysql

还要请你确定你已经安装了 libmysqlclient 这个库文件和其头文件(是带着 -dev 字样的包)。

安装 MySQL

Amarok 1.4 需要 MySQL 版本在 4.0 及其以上,现在(撰写此文时) MySQL 的版本已经升到 5.0.22 了。Amarok-1.4.2 得 MySQL-5.0.24 以及 Amarok 1.4.5 和 MySQL 5.0.27 都融合的很好。

老版本的 Amarok 可能最好还是使用版本号 < 5.0 的MySQL。这是因为 Amarok 的数据库在不断增长,每个音轨在每次扫描时都要进行多次读取数据库。

如果你的 locale 是UTF-8,请确定你的 mqsl 守护程序的默认字符集也是设定为 utf8 的,这样所有创建的表和数据库的字符集都会是 utf8。在 Debian 中:

1) 编译Edit /etc/mysql/my.cnf, 在 之间添加这样一行:

default-character-set = utf8

2) 然后,重启 mqsql 守护程序,使新的默认字符集生效。

这些要在你为 amarok 创建数据库之前完成。

请确定 MySQL 守护程序正在运行当中。如果你必要,可以把它添加到你的 Linux 启动脚本中。方法请阅读你所用发行版的参考指南。

为 MySQL 创建一个 root 密码,如果你没有,就照下面这样做吧。

$ mysql -u root 
set password for root@localhost = password('xxxxxxx');
flush privileges;
quit;

当然要把 XXXXXX 改成你要设的密码。

这个做完后,你就要建立一个 MySQL 数据库 和一个 amarok 用户,方法自选。可以参考下面的 " mysql " 命令(会提醒你输入 MySQL root 的密码):

$ mysql -p -u root
CREATE DATABASE amarok;
USE amarok;
GRANT ALL ON amarok.* TO amarok@localhost IDENTIFIED BY 'PASSWORD_CHANGE_ME';
FLUSH PRIVILEGES;

在上面这个例子里,创建了一个名为 "amarok " 的数据库,得一个名为 " amarok "的用户。这个用户可以使用"PASSWORD_CHANGE_ME"这个密码来连接数据库。可以使用 amarokuser@'%' 来进行远程连接。

要用 'GRANT ALL' 把所权限都赋给 "amarok" 用户,这很重要,因为,"amarok" 用户需要 ALTER 权限来修改它的数据库。

数据库建好了之后,打开 Amarok 的配置界面(在设置(Settings)菜单中),点击收藏(Collection)标签。把下拉菜单的值 SQLite 换成 MySQL。同时,设定主机(host) "localhost"(如果数据库是在本机上), 端口号(一般都是3306), 你刚才新创建的数据库名("amarok",或者你自己设定的名字)。另外 能对数据读写的用户还要填上密码(在本例中,用户名是 "amarok", 密码是 "PASSWORD_CHANGE_ME")

连接远程的 MySQL 服务器:绝大部分的 MySQL 守护程序都被默认设定为只侦听来自本机的请求。

因此,如果你在连接服务器或数据库出错时(不是密码错误),你可能要修改主机上的 my.cnf(一般路径是/etc/mmysql/my.cnf),注释掉"bind_address" 变量,然后重启 MySQL。如果是使用 tcp socket 来连接的话,可能还要注释掉 "skip_networking"。

现在还没有办法修改它侦听的接口。要么只侦听一个,要么全部。你最后可能要更新你的防火墙。

阅读(1429) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~