Re: [Trac] Converting from sqlite to mariadb/mysql
Jun Omae <[email protected]> Fri, 6 Feb 2026 15:43:40 +0900
| Newsgroups | gmane.comp.version-control.subversion.trac.general |
|---|---|
| Message-ID | <[email protected]> |
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=E2=80=AFAM Bruce Dubbs <[email protected]= om> 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 developm= ent system at that time. Over the years our sqlite databases have grown qu= ite 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 s= ystem 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 =3D >>> ... >>> [trac] >>> ... >>> #database =3D sqlite:db/trac.db >>> #database =3D mysql://tracuser:password/trac_db?unix_socket=3D/run/mari= adb/ >>> mariadb.sock >>> database =3D 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. >=20 > I did look at trac.log. It just says the error message above. > I also said above that pymysql is installed. I checked with: >=20 > $ 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 >=20 > without error. >=20 > I tried the following: >=20 > trac-admin /srv/trac/lfs convert_db mysql://tracuser:password@localhost/t= rac_db >=20 > But got the following: >=20 > /usr/lib/python3.13/site-packages/trac/__init__.py:14: UserWarning: pkg_r= esources is=20 > deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resour= ces.html.=20 > The pkg_resources package is slated for removal as early as 2025-11-30. R= efrain from=20 > using this package or pin to Setuptools<81. >=20 > from pkg_resources import DistributionNotFound, get_distribution > Error: Unable to check for upgrade of trac.db.api.DatabaseManager: Timeou= tError:=20 > 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 =3D mysql://tracuser:password/trac_db?unix_socket=3D/run/mariad= b/ > mariadb.sock If you want to use unix domain socket, use like the following ("@" characte= r is needed after the password): mysql://tracuser:password@/trac_db?unix_socket=3D/run/mariadb/mariadb.soc= k --=20 Jun Omae <[email protected]> (=E5=A4=A7=E5=89=8D =E6=BD=A4) --=20 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 e= mail to trac-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] To view this discussion visit https://groups.google.com/d/msgid/trac-users/= bb4103ca-3643-4a27-b845-7ee3c766d879%40gmail.com.