um aus bestehenden mysqldumps die user@host definer zu entfernen kann man folgendes tun
~ $ sed -r -e "s/\/\*[^\/]*DEFINER.*\*\///g" < mysqldump.sql > mysqldump-exdefiner.sql
um aus bestehenden mysqldumps die user@host definer zu entfernen kann man folgendes tun
~ $ sed -r -e "s/\/\*[^\/]*DEFINER.*\*\///g" < mysqldump.sql > mysqldump-exdefiner.sql
um mit ant einen gezipten mysqldump zu erstellen, gehe wie folgt vor
<target name="tstamp" description="create timestamp for further usage"> <echo message="create timestamp for further usage"/> <tstamp/> </target> <target name="mkdir" description="create backup directory"> <echo message="create backup directory"/> <mkdir dir="${backups}"/> </target> <target name="dump" description="create db dump and gzip it - depends on tstamp, mkdir" depends="tstamp, mkdir"> <echo message="create db dump and gzip it"/> <exec executable="bash" dir="${backups}"> <arg value="-c"/> <arg line='"mysqldump ${db} -u${db_user} -p${db_pass} | gzip > ${backups}/${db}_${DSTAMP}_${TSTAMP}.sql.gz"'/> </exec> </target>
um hostunabhängige mysql dumps zu erzeugen, muss man die definer aus dem jeweiligen dump entfernen.
mit sed kann man das gleich beim erzeugen des dumps:
mysqldump database -ufoo -pbar -hlocalhost | sed "s/\/\*[^\/]*DEFINER.*\*\///g" > dump_without_definer.sql