HI!

ODBC is a nice, cheap and easy way. JDBC is a nice option also (i am a
java guy, forgive me! =)

There are a few utilities around that may help, including some gui
managers for mysql, better yet, sitted behind your comfortable windows
desktop =)

A few utilities to try:

sqlyog: www.sqlyog.com
dbtools: www.dbtools.com.br

Best Regards!

On Thu, 2004-03-04 at 11:11, HACKATHORN, TODD (SWBT) wrote:

> I think that will help, I'll give it a try, I have had a lot of trouble
> finding good tutorials for bash also.  Having been a windows person for so
> long it seems very foreign to me.  I see how you connect to the local data
> base, does anyone know how to import data from another non mySQL database
> server?  To make two connections and pull data from one to the other?
> 
> Thanks,
> 
> Todd Hackathorn
> 
> 
> -----Original Message-----
> From: Rhino [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, March 04, 2004 8:30 AM
> To: HACKATHORN, TODD (SWBT); [EMAIL PROTECTED]
> Subject: Re: Scripting
> 
> Todd,
> 
> I'm also pretty new to MySQL and Linux but I have years of DB2 experience on
> various platforms.
> 
> I've bash scripts very useful and cron them when I have something that I
> want to automate, such as a daily backup of my databases. Here are some
> examples of bash scripts that I use with MySQL.
> 
> This example, which is in file RI.sql, creates two related tables in the
> MySQL 'tmp' database, populates them, and displays the results. NOTE: The
> 'Another Mistake' row will not be successfully inserted into the 'emp' table
> because it has an invalid foreign key; there is no row for dept 'X99' in the
> 'dept' table.
> 
> ---
> 
> use tmp;
> 
> drop table if exists dept;
> create table dept(
> deptno char(3) not null,
> deptname varchar(36) not null,
> mgrno char(6),
> primary key(deptno)
> ) Type=InnoDB;
> 
> drop table if exists emp;
> create table emp(
> empno char(6) not null,
> firstnme char(12) not null,
> midinit char(1),
> lastname char(15) not null,
> workdept char(3) not null,
> salary dec(9,2) not null,
> primary key(empno),
> index(workdept),
> foreign key(workdept) references dept(deptno) on delete restrict
> ) Type=InnoDB;
> 
> insert into dept values
> ('A00', 'Administration', '000010'),
> ('D11', 'Manufacturing', '000020'),
> ('E21', 'Education', '000030');
> 
> insert into emp values ('000010', 'Christine', 'I', 'Haas','A00',50000.00);
> insert into emp values ('000020', 'George', 'W', 'Bush', 'D11', 30000.00);
> insert into emp values ('000030', 'Another', ' ', 'Mistake', 'X99',
> 15000.00);
> insert into emp values ('000040', 'John', ' ', 'Kerry', 'E21', 35000.00);
> 
> select * from dept;
> 
> select * from emp;
> 
> ---
> 
> You can run the preceding script from the mysql prompt by preceding its name
> with '\.'. For example:
> 
> mysql> \. RI.sql
> 
> 
> This script, called backup2.bash, is what I use to back up my databases each
> night. It includes a comment showing the crontab entry I use to run it.
> NOTE: We are using a Perl package called 'sendEmai'l instead of the
> traditional 'sendmail' program.
> 
> ---
> #!/bin/bash
> 
> #This script makes a separate database-level backup of each of the current
> MySQL databases and
> #deletes backups older than a certain number of days.
> #This script is normally invoked via a cron job so that it runs once per day
> in the middle of the night.
> #The crontab entry looks like this:
> #0 3 * * * sh /home/rhino/MySQL/backup2.bash > /home/rhino/MySQL/backup2.out
> 2>&1; cat /home/rhino/MySQL/backup2.out | sendEmail -f [EMAIL PROTECTED] -t
> [EMAIL PROTECTED] -u "Daily Backup Report"
> 
> USERID="foo"; #The userid to use for creating the backup
> PASSWORD="foopass"; #The password to use for creating the backup
> BACKUP_TIMESTAMP=`/bin/date +%Y%m%d"-"%H%M%S`; #The timestamp
> (YYYYMMDD-HHMMSS) of the backup
> BACKUP_PATH="/home/rhino/MySQL/backup"; #The directory into which the backup
> will be written
> NUMBER_OF_DAILY_BACKUPS_TO_KEEP=7; #The number of generations of backups to
> keep
> 
> echo "** REPORT BEGINS **";
> echo
> echo "Program Name:" $0
> report_date=`/bin/date`
> echo "Report Date:" $report_date;
> echo
> 
> #Display the non-secret values used in this run.
> echo "Backup Values:";
> echo "  Backup timestamp is" $BACKUP_TIMESTAMP;
> echo "  Backup path is" $BACKUP_PATH;
> echo "  Number of daily backups to keep =" $NUMBER_OF_DAILY_BACKUPS_TO_KEEP;
> 
> #For each database currently in MySQL, take a database-level backup, then
> list any backups older than a certain number of day
> for ONE_DBNAME in `echo show databases | mysql -s -u $USERID -p$PASSWORD`
> do
>    echo
>    echo "Backing up database" $ONE_DBNAME;
>    /usr/bin/mysqldump --opt --verbose -u${USERID} -p${PASSWORD}
> ${ONE_DBNAME} -r ${BACKUP_PATH}"/"${ONE_DBNAME}"."${BACKUP_TI
>    echo ">> Deleting these old backups for this database..."
>    /usr/bin/find ${BACKUP_PATH} -mtime
> +$NUMBER_OF_DAILY_BACKUPS_TO_KEEP -name $ONE_DBNAME'*' -print; #display old
> backups (i
>    /usr/bin/find ${BACKUP_PATH} -mtime
> +$NUMBER_OF_DAILY_BACKUPS_TO_KEEP -name $ONE_DBNAME'*' -exec rm '{}' ';';
> #delete old
> done
> 
> echo
> echo "** REPORT ENDS **";
> ---
> 
> If you want to take a backup manually with this script (and omit the email
> being sent to you), you can do this from the mysql prompt via:
> mysql> \. /home/rhino/MySQL/backup2.bash > /home/rhino/MySQL/backup2.out
> 2>&1
> 
> I think the biggest obstacle you're going to face in writing bash scripts is
> the lack of good tutorials on it. There are umpteen bash references that
> show you generic syntax and tell you the terminology used by bash but darned
> few decent tutorials to show you how to write bash scripts. Some people can
> do anything they want with only a reference but I'm one of those people who
> need examples to really understand something so I've had real challenges
> learning bash since the references are extremely skimpy on concrete
> examples.
> 
> Good luck!
> 
> Rhino
> 
> ----- Original Message ----- 
> From: "HACKATHORN, TODD (SWBT)" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, March 04, 2004 8:57 AM
> Subject: Scripting
> 
> 
> > Hello,
> > I am new to Linux, and mySQL.  I am currently a MsSQL Server 2000 and VB
> > programmer, but trying to break away from that side.  I have my database
> set
> > up and working great, but I am really struggling on how to perform
> scheduled
> > updates, and data imports.  Can anyone please point me to a good resource
> to
> > learn how to build a script, that can import data from an ODBC connection,
> > and then maybe run multiple queries in the data one at a time.  I don't
> know
> > what language I want to use because I don't know enough about it.  Once I
> > find a way to do what I need, I will learn that language.  I think there
> > might be a way to use php as cron'd scripts, but I don't know.  Also I
> > looked at perl, or just bash in linux.  I am used to being able to do
> > anything I needed to with DTS packages and stored procedures.  I had ask a
> > similar question a while back, and still can't get going with this.  So
> far
> > the graphical packages for updates are the only thing I miss from SQL
> > Server.
> >
> > Thanks in advance for any help.
> >
> > Todd Hackathorn
> >
> >

-- 

 |...........................................................|
 |____  _____ ____   _    |Victor Medina M                   |
 |\ \ \| ____|  _ \ / \   |Linux - Java - MySQL              |
 | \ \ \  _| | |_) / _ \  |Dpto. Sistemas - Ferreteria EPA   |
 | / / / |___|  __/ ___ \ |[EMAIL PROTECTED]                  |
 |/_/_/|_____|_| /_/   \_\|ext. 325 - Tél: +58-241-8507325   |
 |                        |geek by nature - linux by choice  |
 |...........................................................|




















Reply via email to