Where does Gnucash save it backup files when using mysql data source

Colin Law clanlaw at gmail.com
Sun Jul 5 10:21:19 EDT 2015


On 5 July 2015 at 10:47, L. D. James <ljames at apollo3.com> wrote:
> When I first started using Peachtree, as far as I know, it was a bunch of
> local files very similar to the way Gnucash started out. Eventually they
> incorporated a database engine.  It's a very powerful engine.  I can
> research and give you the name of it.  The Linux version of the engine is
> extremely expensive.

If that comment is in answer to my request for examples of
applications that use mySQL and do database backups within the apps, I
am not particularly familiar with Peachtree but I don't think it uses
mySQL.  I think it uses the Pervasive database which is a very
different beast to mySQL.  A big difference I think is that Pervasive
is intended to be embedded within an app, whereas mySQL uses an
external server over which gnucash has little control.

>
> They didn't place a requisite that their users go to school and learn the
> new engine.  The people just used the facilities of Peachtree as they always
> did.  Peachtree continued to routinely backup the data to the local drive as
> always for the user.
>
> I believe Gnucash should do the same.
>
> Many people are using Wordpress.  They have no clue what a mysql database
> engine is.  The developers of wordpress decided to take a very powerful
> facility (mysql) and incorporate it into their program.  The have very
> simple install procedures, and the program just works.  It works very
> efficiently because of the time and attention that the developers put into
> making the application easy to use.

Users of Wordpress may have little knowledge of mySQL but whoever sets
up the wordpress installation must know about it.  Does Wordpress have
a built in backup feature available to the end user?  You might find
this simple explanation of backing up a Wordpress database
interesting:
https://codex.wordpress.org/Backing_Up_Your_Database

>
> I don't suggest that Gnucash tries to backup the mysql database itself, but
> I wouldn't fight against it.  I'm suggesting that Gnucash performs the
> export which John mentioned as a feature to be considered, as a default
> option when exiting the program.  I don't understand why you are animate
> against this protection for the users' data.

Looking back at the thread I see that I misunderstood what you were
asking for, apologies for that.  I did indeed think you were asking
for a backup of the database.

>
> John mentioned, and I'm glad it's being considered, that the incorporation
> of mysql is a preclude to what may progress into a multiuser system of
> Gnucash.  When reviewing the list, when multi-user comes up many people
> start to say, this is a small program, get an expensive program for
> multi-users.  I'm glad that in spite of the nay's against Gnucash having
> multi-user capability, it's actually being considered.
>
> Of course many people will have an IT person, even for their word processor
> files.  But I hope Gnucash doesn't become a program where every time a
> person has a problem, we suggest that it isn't for them, they need to go to
> their IT.
>
> A person doesn't have to know anything about the engine an application is
> using, to actually use it.  I was surprised and just noticed the mysql
> option built into the latest version of Gnucash. It's not in the repository
> version that is installed on my clients machines.  I'll be upgrading theirs
> to the new Gnucash.  I never opted for the mysql version during the years of
> my testing and considering Gnucash because of threads like this, that
> suggested that it was something extremely time consuming and almost
> impossible for a novice to use.  While I am very flush in SQL development
> and usage, I wasn't anxious to get into a time consuming operation.  But
> yesterday when I saw it as an option I clicked on it.  I was very surprised
> at the ease in using it.  It asked for very simple things, the name of the
> database and the username and password.

In fact to use the mySQL backend requires much more than just entering
the database name, user name and password.  It also requires
installation and setup of a mySQL server, adding a user with
appropriate permissions, an understanding of the security implications
of access to the database.  Not something that a user who, to use your
own words, does not truly understand what a database engine or xml
file is, should be doing.

>  It was much easier than setting up
> Wordpress which many novice users can do without know anything about mysql,
> SQL, database engines, or a lot of basic computer operations.  They just run
> the setup routine and follow the prompts and leave the technical stuff to
> the program developers.
>
> I believe using mysql is something that will actually make developing and
> supporting Gnucash easier for the developers and people giving support.  I
> don't think the users actually have need to know anything about mysql or
> concerned about it.  Just run the setup... put in their username and
> password for the installed mysql and be on their way.  I always install
> mysql on my clients computers, even though they don't know what it is.  When
> they install an application that uses it, it simply asks them for
> credentials and everything is automatically setup by the program.

I think we are getting a bit off topic here, but I don't think it
would be that simple for a novice user to install mySQL server on his
PC, and set it up securely.  This is an interesting link:
https://dev.mysql.com/doc/mysql-security-excerpt/5.0/en/security-guidelines.html

>
> Currently Gnucash doesn't actually setup create the database.  But it would
> be an extremely simple routine which I would gladly provide if the gnucah
> developers wanted wanted to consider.  Creating an mysql database is as easy
> as using a personal username and password to log into the OS (Windows or
> their Mac computer).

Gnucash does create the database for you, so I am not sure what you
are saying.  Creating the database is simple, installing and setting
up the server is not.

>
> So again, I really don't understand why you are so animate against this
> extremely powerful, yet very easy to use and implement feature.  While I can
> explore and use XML and Sqlite, I find mysql the easiest of all.

mySQL requires installation of a server, sqlite does not.  Much
simpler than mySQL.

>
> The backup feature already exist in Gnucash.  It's called "save as".  All it
> really takes is a rename from "save as" to "backup" or "export", provide
> this as an exiting option and it's all done.  I can't imagine anything
> simpler... and I really don't see where the need of an advance IT
> professional should have to come into the picture.

I agree that currently it may be that it would be very simple to
automatically do an extra save as xml on exit to act as a backup and I
would have not problems with that as an option.  I can see though that
this might not be so simple in future when gnucash no longer keeps a
complete copy of the data in memory but is using an sql database in
the way it should be used.  Then I imagine a backup would have to lock
the whole database in order to ensure that it not changed by another
user while being backed up, then read the database and write the xml
file.

Colin

>
> -- L. James
>
> --
> L. D. James
> ljames at apollo3.com
> www.apollo3.com/~ljames
>
> On 07/05/2015 05:16 AM, Colin Law wrote:
>>
>> On 5 July 2015 at 10:02, L. D. James <ljames at apollo3.com> wrote:
>>>
>>> On 07/05/2015 04:34 AM, Colin Law wrote:
>>>>
>>>> On 5 July 2015 at 09:18, L. D. James <ljames at apollo3.com> wrote:
>>>>>
>>>>> ...
>>>>> I've only worked with a
>>>>> few accounting problems, I believe all of the ones I've seen perform a
>>>>> backup when exiting.  It appears the developers have a lot of concern
>>>>> for
>>>>> the novice computer users who neglect to backup and are later crying
>>>>> trying
>>>>> to find a way to recover their precious data once the active version
>>>>> becomes
>>>>> corrupted... just like a number of users in previous different threads
>>>>> have
>>>>> been afraid to upgrade for fear of losing their data. I've told them in
>>>>> each
>>>>> case to just backup their data, or use one of the default backed up
>>>>> versions.
>>>>
>>>> I don't think a novice computer user will be using mysql or
>>>> postgreSQL.  A system administrator setting those up must understand
>>>> how to maintain and back up the databases.  I don't think gnucash
>>>> should get involved in that.
>>>>
>>>> For sqlite I believe the database is simply a single file, so I
>>>> imagine in that case gnucash could use a similar backup strategy to
>>>> the one it uses for xml files.
>>>>
>>>> Colin
>>>
>>>
>>> I am an IT professions.  All the people I work with are novice computer
>>> users.  I don't know many doctors, lawyers, or other business
>>> professional
>>> and even accountants that are not novice computer users.  The normal
>>> computer users depend on the facilities and features built into the
>>> software
>>> they use.
>>>
>>> Many of the people using this mailing list are not actually novice
>>> computer
>>> users.  However, even these people who are not novice computer users are
>>> having lots of problems asking for support for doing very easy things.
>>> Having the features I'm describing, of which you're saying an IT person
>>> should get involved in are things that will make it easier for us helping
>>> in
>>> this list to give support to the users.
>>> ...
>>> I don't know who your clients are.  But none of my clients truly
>>> understand
>>> what a database engine or xml file is.  They barely understand what a zip
>>> archive is.  The ones who has a clue for some of this couldn't put it
>>> into
>>> words.
>>
>> You are missing my point, I think.  No novice computer user is going
>> to setup mySQL.  Where a novice computer user is using mySQL there
>> will be a sys admin who setup the database for him/her.  I do not
>> believe mySQL will ever be the default, possibly it may be sqlite.
>> Gnucash cannot (I believe) be responsible for backup of a mySQL
>> database, only the system administrator can be responsible for that.
>> Can you suggest any other app that uses mySQL that handles database
>> backups within the app?
>>
>> In the case of sqlite it may well be that your points are entirely
>> valid, as I suggested in my previous post.
>>
>> Colin
>
>


More information about the gnucash-user mailing list