On 2026/02/06 12:30, Bruce Dubbs wrote:
> On 2/5/26 8:39 PM, Jun Omae wrote:
>> Hi,
>>
>> On Fri, Feb 6, 2026 at 10:37 AM Bruce Dubbs <[email protected]> wrote:
>>>
>>> At the linuxfromscratch project we have been using Trac for a very long
>>> time. The last time we updated Trac was in 2021 using the latest
>>> development system at that time. Over the years our sqlite databases have
>>> grown quite large: 287M, 884M, and 642M respectively.
>>>
>>> We have noticed some response problems and want to update to the latest
>>> Trac and convert to mariadb.
>>>
>>> Doing some testing on a test server we installed python3.13, Trac-1.6,
>>> PyMySQL, and mariadb-11.8.5. We then copied a current trac.db to the test
>>> system and ran sqlite3mysql to copy the trac.db into mariadb.
>>>
>>> We can log into mariadb with 'mariadb -u tracuser -p trac_db' and all
>>> looks good. We do have a symlink /usr/bin/mysql -> mariadb
>>>
>>> We then edited the trac.ini file to read:
>>>
>>> #[sqlite]
>>> #extensions =
>>> ...
>>> [trac]
>>> ...
>>> #database = sqlite:db/trac.db
>>> #database = mysql://tracuser:password/trac_db?unix_socket=/run/mariadb/
>>> mariadb.sock
>>> database = mysql://tracuser:password@localhost/trac_db
>>>
>>> but no matter what we try after restarting apache get the error message:
>>>
>>> TracError: Unable to check for upgrade of trac.db.api.DatabaseManager:
>>> TracError: Unsupported database type "mysql"
>>>
>>> What are we missing?
>>
>> I'd suggest to check errors in trac.log. The pymysql library is
>> required for MySQL but it is unavailable in your environment.
>
> I did look at trac.log. It just says the error message above.
> I also said above that pymysql is installed. I checked with:
>
> $ python3
> Python 3.13.7 (main, Feb 3 2026, 16:47:05) [GCC 15.2.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import pymysql
>
> without error.
>
> I tried the following:
>
> trac-admin /srv/trac/lfs convert_db
> mysql://tracuser:password@localhost/trac_db
>
> But got the following:
>
> /usr/lib/python3.13/site-packages/trac/__init__.py:14: UserWarning:
> pkg_resources is
> deprecated as an API. See
> https://setuptools.pypa.io/en/latest/pkg_resources.html.
> The pkg_resources package is slated for removal as early as 2025-11-30.
> Refrain from
> using this package or pin to Setuptools<81.
>
> from pkg_resources import DistributionNotFound, get_distribution
> Error: Unable to check for upgrade of trac.db.api.DatabaseManager:
> TimeoutError:
> Unable to get database connection within 10 seconds.
I guess it is failing to connect to the database via TCP. Please check
connecting to the database via TCP connection using mariadb client.
> #database = mysql://tracuser:password/trac_db?unix_socket=/run/mariadb/
> mariadb.sock
If you want to use unix domain socket, use like the following ("@" character is
needed after the password):
mysql://tracuser:password@/trac_db?unix_socket=/run/mariadb/mariadb.sock
--
Jun Omae <[email protected]> (大前 潤)
--
You received this message because you are subscribed to the Google Groups "Trac
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/trac-users/bb4103ca-3643-4a27-b845-7ee3c766d879%40gmail.com.