Edgewall Software

Changes between Version 28 and Version 29 of MySqlDb


Ignore:
Timestamp:
Feb 25, 2009, 1:12:25 PM (15 years ago)
Author:
anatoly techtonik <techtonik@…>
Comment:

MyISAM tables should not be used, because they do not support transactions (see #8067)

Legend:

Unmodified
Added
Removed
Modified
  • MySqlDb

    v28 v29  
    11= MySQL and the MySQLdb Python bindings for MySQL =
    22
    3  ''It is somewhat supported by Trac since 0.10, but there are some limitations (see [#KnownIssues]). Use this only if you don't have other choice, and be warned that there can be many issues, in particular related to the unicode support and the repository cache support. Some users are nevertheless using MySQL successfully, so it ''might'' work for you. The primary supported backends though are PostgreSQL and SQLite.''
     3 ''The primary supported backends are PostgreSQL and SQLite. MySQL is supported by Trac since 0.10 with limitations (see [#KnownIssues]). Use this only if you don't have other choice, and be warned that there can be issues unicode support and the repository cache. Some users are nevertheless using MySQL successfully, so it ''might'' work for you. ''
    44
    5 Starting with [milestone:0.10] Trac can use MySQL for its DatabaseBackend, but consider using at least [milestone:0.10.5] or, much better, [milestone:0.11.1].
     5Recommended Trac for using with MySQL DatabaseBackend is [milestone:0.10.5] or, much better, [milestone:0.11.1].
    66
    77
     
    1414 In short, up to 0.11 use ''utf8_general_ci'' collation type, but starting with 0.11.1, use ''utf_bin'' as explained below.''
    1515
    16 In order to avoid several issues with unicode and international characters throughout Trac (e.g., international characters turning into question marks with mysterious "Incorrect string value" errors logged), we '''''strongly''''' advise MySQL users to only use databases having the ''`utf8`'' character set and the ''`utf8_bin`'' collation type. However, changing collation to ''utf8'' makes MySQL fail in 4.1.x and 5.0.x versions on MyISAM table type, because some Trac tables indexes become "too big". This will be (hopefully) addressed in [milestone:0.10.4]. As a workaround it has been [comment:ticket:3659:5 recommended] to use InnoDB tables instead of MyISAM where this limitation is absent.
     16To avoid unicode and international characters problems in Trac (e.g., international characters turning into question marks with mysterious "Incorrect string value" errors logged), we '''''strongly''''' advise MySQL users to use only databases with the ''`utf8`'' character set and the ''`utf8_bin`'' collation type. All tables should be created as  '''InnoDB''' or '''NDB''' type tables, because Trac uses transaction mechanism that not supported by MyISAM tables (see [comment:ticket:8067:5] and [http://dev.mysql.com/tech-resources/articles/storage-engine/part_3.html MySQL docs]).
    1717
    1818Such databases can be created with the MySQL monitor, like that:
     
    8585http://code.google.com/p/modwsgi/wiki/ApplicationIssues#MySQL_Shared_Library_Conflicts
    8686
     87When changing collation to ''utf8'' MySQL may fail in 4.1.x and 5.0.x versions on MyISAM table type. It will complain about "too big" indexes in some Trac tables. This will be (hopefully) addressed in [milestone:0.10.4]. As a workaround it has been [comment:ticket:3659:5 recommended] to use InnoDB tables instead of MyISAM where this limitation is absent.
     88
    8789[[TicketQuery(keywords=~mysql&resolution=worksforme)]]
    8890