Seafile Server 7.1.3避坑:配置 MySQL 数据库

佐手、 提交于 2020-04-06 08:05:36

1. 说明

使用 MySQL 版本过程中,脚本提供2种配置数据库的方式:

选项1是由安装脚本帮助创建用户和数据库,此时需要提供数据库的root密码,而且数据库能够允许root用户远程连接。

选项2是用户自己创建或使用以前的数据库,需要提供数据库的基本信息。

由于有些 Linux 默认(尤其是通过宝塔等面板)安装的 MySQL,是不允许root用户远程连接数据库的,这就导致选项1无法安装成功,而我们初次安装的时候又没有创建相应的用户和数据库,这就导致选项2也无法安装成功。

遇到这种情况,就需要我们手动创建相应的用户和数据库,并把相关信息提供给安装脚本。如果数据库服务器不是安装在本机的,我们就需要到安装数据库的主机上去操作,因为只有在本机,才可以使用root账号登陆。

2. 信息整理

我们需要提供给安装脚本的数据库信息有:

主机 数据库服务器的IP地址或域名,本机则为 localhost
端口 数据库服务监听的端口号,通常为 3306
用户名 连接数据库时使用的数据库用户名,在创建时指定即可,这里使用 seafuser 为例
密码 数据库用户的密码,这里使用 seafpass 为例
数据库名称 ccnet/seafile/seahub 三个应用对应的三个数据库名称,创建时指定,这里设置为与应用同名,即 ccnet, seafileseahub

我们要创建的用户和数据库信息

用户名 与提供给安装脚本的用户名相同,这里为 seafuser
用户主机 访问数据库的主机,本机则使用 localhost ,指定及其则为其IP地址,允许任意IP则设置为通配符 %
若要指定一个网段,则可以使用部分通配符,如 192.168.1.%,这里使用 localhost
密码 与提供给安装脚本的密码相同,这里为 seafpass
数据库名 与提供给安装脚本的数据库名称相同,这里分别为ccnet, seafileseahub

3. 开始创建

首先,使用 nano 或 vim 创建一个SQL文件,文件名随意,比如 create_user_and_db.sql, 文件内容如下:

-- 创建用户
CREATE USER 'seafuser'@'localhost' IDENTIFIED BY 'seafpass';

-- 创建数据库
CREATE DATABASE ccnet;
CREATE DATABASE seafile;
CREATE DATABASE seahub;

-- 授权数据库
GRANT ALL PRIVILEGES ON ccnet.* TO 'seafuser'@'localhost';
GRANT ALL PRIVILEGES ON seafile.* TO 'seafuser'@'localhost';
GRANT ALL PRIVILEGES ON seahub.* TO 'seafuser'@'localhost';

使用系统的root账号运行 mysql 命令行客户端,则会以 数据库root的身份登陆,因此,执行以下命令,执行 SQL 命令:

$ sudo mysql < create_user_and_db.sql

执行完毕后,就可以继续安装了,选择选项2,使用已存在的数据库就可以了

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!