A plugin for TiddlyWeb subclassing tiddlywebplugins.sqlalchemy3 with MySQL specifics.
The main additions to sqlalchemy3 are:
- Optionally extend the search interface using mysql's fulltext.
- Support finding tiddlers that have geo.lat and geo.long fields near a location.
MySQL 5.5 or beyond is required for full Unicode support.
It is important to set some mysql my.cnf variables if you are using the fulltext indexing otherwise searches will likely fail.
[mysqld]
ft_min_word_len = 3
ft_stopword_file = ''
You will need to create a database:
create database tiddlyweb character set = utf8mb4 collate = utf8mb4_bin;
Make sure you GRANT
appropriate PRIVILEGES
on the database.
Add the following to tiddlywebconfig.py
:
'server_store': ['tiddlywebplugins.mysql', {
'db_config': 'mysql:///tiddlyweb?charset=utf8mb4'}],
'indexer': 'tiddlywebplugins.mysql', # optional
If you want to use the fulltext indexing capability you will need to create the fulltext index:
CREATE FULLTEXT INDEX tiddlytext ON text(text);
Also set mysql.fulltext
to True
in tiddlywebconfig.py
. This makes
sure the text table will be MyISAM
.
Note that even if fulltext is not turned on, text searches will still work, but not as flexibly.
See http://tiddlyweb-sql.tiddlyspace.com/ for additional documentation and assistance.
Thanks to Adrian Hosey for help over some SQL humps.