首先请确认 MySQL 的 Python 模块已经安装. Ubuntu 下,安装命令为 apt-get install python-mysqldb
.
请按以下步骤操作:
停止 Seafile 和 Seahub
下载 sqlite2mysql.sh 和 sqlite2mysql.py 到 Seafile 的安装根目录(
/data/haiwen
)里.运行 sqlite2mysql.sh 脚本
chmod +x sqlite2mysql.sh
./sqlite2mysql.sh
这个脚本将生成三个文件:ccnet-db.sql
, seafile-db.sql
, seahub-db.sql
。
新建3个数据库,分别命名为
ccnet-db
,seafile-db
,seahub-db
.
create database `ccnet-db` character set = "utf8";
create database `seafile-db` character set = "utf8";
create database `seahub-db` character set = "utf8";
修改 /etc/my.conf, 添加下列语句,并重启 mysql (sudo service mysql restart),这个语句主要是确保数据库使用 UTF8 编码
[mysqld]
collation-server = utf8_unicode_ci
init-connect="SET NAMES utf8"
character-set-server = utf8
运行 sql 文件:
mysql> use `ccnet-db`
mysql> source ccnet-db.sql
mysql> use `seafile-db`
mysql> source seafile-db.sql
mysql> use `seahub-db`
mysql> source seahub-db.sql
更改配置
在 ccnet/ccnet.conf
中增加以下语句:
[Database]
ENGINE=mysql
HOST=127.0.0.1
USER=root
PASSWD=root
DB=ccnet-db
CONNECTION_CHARSET=utf8
注意: 使用 127.0.0.1
, 不要使用 localhost
.
将 seafile-data/seafile.conf
中的数据库配置信息更改文以下语句:
[database]
type=mysql
host=127.0.0.1
user=root
password=root
db_name=seafile-db
CONNECTION_CHARSET=utf8
在 seahub_settings.py
中增加以下语句:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"USER" : "root",
"PASSWORD" : "root",
"NAME" : "seahub-db",
"HOST" : "127.0.0.1",
"OPTIONS": {
"init_command": "SET storage_engine=INNODB",
}
}
}
重启 Seafile and Seahub