从sqlite 迁移 mysql_从 SQLite 迁移至 MySQL

# 从 SQLite 迁移到 MySQL

首先请确认 MySQL 的 Python 模块已经安装. Ubuntu 下,安装命令为 `apt-get install python-mysqldb`.

请按以下步骤操作:

1.

停止 Seafile 和 Seahub

1.

下载 [sqlite2mysql.sh](https://raw.github.com/haiwen/seafile/master/scripts/sqlite2mysql.sh) 和 [sqlite2mysql.py](https://raw.github.com/haiwen/seafile/master/scripts/sqlite2mysql.py) 到 Seafile 的安装根目录(`/data/haiwen`)里.

1.

运行 sqlite2mysql.sh 脚本

~~~

chmod +x sqlite2mysql.sh

./sqlite2mysql.sh

~~~

这个脚本将生成三个文件:`ccnet-db.sql`, `seafile-db.sql`, `seahub-db.sql`。

1.

新建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';

~~~

1.

修改 /etc/my.conf, 添加下列语句,并重启 mysql (sudo service mysql restart),这个语句主要是确保数据库使用 UTF8 编码

~~~

[mysqld]

collation-server = utf8_unicode_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

~~~

1.

运行 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

~~~

1.

更改配置

在 `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",

}

}

}

~~~

1.

重启 Seafile and Seahub

你可能感兴趣的:(从sqlite,迁移,mysql)