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.

Reply via email to