[Camps-users] [Camps-commits] [SCM] Camps development environments branch, master, updated. d09a96a609343a4789f494e99f660622ad7b7249

Ron Phipps ron at endpoint.com
Tue Mar 17 04:34:39 UTC 2009


Jon Jensen wrote:
> On Mon, 16 Mar 2009, Ron Phipps wrote:
> 
>> I'm working on migrating a client to a new server and as part of the 
>> process I'm upgrading their camps library as well.  The issue I'm 
>> running into is when running mkcamp the database is created, the roles 
>> are created, but when the database is being imported I receive the 
>> following error:
>>
>> Processing script 'mysql/tmp/frozencpu.sql':
>> mysql -u root -p6nob83gu --socket=/home/ron/camp1/mysql/tmp/mysql.1.sock
>> < /home/camp/frozencpu/mysql/tmp/frozencpu.sql
>> ERROR 1046 (3D000) at line 12: No database selected
>> Error importing data
>>
>> The problem is the patch above sets no_database => 1 which doesn't allow
>> the db_default_database to be used when importing the production dump.
>>
>> Here is the relevant section to the local-config:
>>
>> db_dbnames:frozencpu
>> db_mysql_scripts:mysql/tmp/frozencpu_init.sql
>> db_source_scripts:mysql/tmp/frozencpu.sql
>> db_default_database:frozencpu
>> db_default_user:root
>> db_sleep_time:15
>>
>> frozencpu_init.sql contains:
>>
>> CREATE DATABASE frozencpu;
>>
>> frozencpu.sql is the production dump.
>>
>> From my understanding this is the correct way to do a mysql based app. 
>> The extra init script is needed because mysqldump does not include a 
>> create database statement or a connect to the database.
>>
>> I'm not sure of the situation you ran into which requires no_database => 
>> 1 so I cannot not submit a patch that works for both cases.  If you have 
>> a scenario you'd like me to test I can work on a patch that works for 
>> both scenarios.  For the time being I have removed the no database 
>> option.
> 
> Sorry for the trouble. The camp system you're migrating was probably one 
> of the earlier MySQL camps, and didn't follow the established Postgres 
> convention. That's not uncommon for those early MySQL camps, because the 
> conventions weren't always well-documented and we did so few of them in 
> MySQL.

It is a fairly early camp system, unfortunately I've used the same model 
for setup on all of the other mysql camps I have done as I was unaware 
of the "proper" way to do it.  I just always thought mysql camps had 
this extra step of creating the database before the dump was loaded.

> The problem Adam and I were fixing was that db_default_database/user is 
> intended to say what database/user to connect to with the mysql_camp 
> command -- not during initial database population. That should be 
> specified in the dump script used for import. And it always has been for 
> Postgres.
 >
> Adam ran into his trouble on one new MySQL camp system within one day of 
> when I ran into it for another new MySQL camp system, and unless I'm 
> forgetting something, that was the problem. Of course it could go either 
> way, but the early convention was that the dump script is responsible for 
> creating and connecting to the right database -- and our Postgres camps 
> conventions usually win, since they're far more numerous. :)

Sounds good to me.

> The camp-dbdump script I used outputs the CREATE DATABASE and USE commands 
> necessary for things to work with the patch you reverted:
> 
> 
> #!/bin/sh
> 
> type=    # you set
> dbname=  # you set
> dbuser=  # you set
> dumpfile=~camp/$type/mysql/dbdump/tmp/$dbname.sql
> tmpfile=$dumpfile.$$
> mysqldump -u $dbuser --databases $dbname > $tmpfile
> success=$?
> [ $success -eq 0 ] && mv $tmpfile $dumpfile
> exit $success
> 
> 
> Can you give that a try with the no_database patch and see if it works for 
> you?
> 
> Jon

What I have done in FCPU's case is used the normal nightly dump file for 
backup purposes, unzipped it and copied it to the proper location.  I 
like doing this so we do not have to hit the database server for another 
dump when they both run nightly.  I'll work on a bit of code to add the 
proper use and create statements.  Once I have that I'll test the 
no_database patch.

Thanks,


-- 
Ron Phipps
End Point Corporation
ron at endpoint.com
661-513-0640


More information about the Camps-users mailing list