Version 6 (modified by 17 years ago) ( diff ) | ,
---|
MySQL and the MySQLdb Python bindings for MySQL
work in progress, only the most critical information is there for now
Starting with 0.10 Trac can use MySQL for its DatabaseBackend.
Well, sort of.
Better is to use 0.10.3, and only starting with 0.10.4 will MySQL be fully supported (at least that's the plan).
Requirements
MySQL
In order to avoid several issues related to the use of unicode characters throughout Trac, we strongly advise MySQL users to only use databases having the utf8
character set and the utf8_general_ci
collation type.
Such databases can be created with the MySQL monitor, like that:
CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
See also #3884.
It has also been recommended to use InnoDB instead of MyISAM tables, though it's not completely clear at this point if this really helps.
MySQLdb
The recommended version for now is MySQL-python 1.2.1_p2.
Other versions (MySQL-python 1.2.0-3.2.2, MySQL-python 1.2.2b2) were reported to have issues (see #3645). On the other hand, MySQL-python-1.2.2b2 was reported to solve an AttributeError: 'array.array' object has no attribute 'startswith'
error seen when viewing a changeset…
Known Issues
next-dev-1.7.x milestone tickets:
- #13080
- Add [trac] mysql_storage_engine option instead of editting my.cnf
next-major-releases milestone tickets:
- #6986
- MySQL schema changes for performance
- #11206
- Reduce join in query process
- #12390
- Attachment table primary key not unique when migrating from SQLite to MySQL
next-stable-1.6.x milestone tickets:
- #12097
- Add a script to contrib for converting MySQL storage engine
- #12363
- Support ucs2/utf16/utf32 charset and utf16_bin/utf32_bin collation in MySQL
unscheduled milestone tickets:
(corresponding custom query)