summaryrefslogtreecommitdiffstats
path: root/docs/html/granttables.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/granttables.html')
-rw-r--r--docs/html/granttables.html324
1 files changed, 324 insertions, 0 deletions
diff --git a/docs/html/granttables.html b/docs/html/granttables.html
new file mode 100644
index 000000000..0e69c6682
--- /dev/null
+++ b/docs/html/granttables.html
@@ -0,0 +1,324 @@
+<HTML
+><HEAD
+><TITLE
+>MySQL Permissions &#38; Grant Tables</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.61
+"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="The Bugzilla Database"
+HREF="database.html"><LINK
+REL="PREVIOUS"
+TITLE="MySQL Bugzilla Database Introduction"
+HREF="dbdoc.html"><LINK
+REL="NEXT"
+TITLE="Cleaning up after mucking with Bugzilla"
+HREF="cleanupwork.html"></HEAD
+><BODY
+CLASS="SECTION"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="dbdoc.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. The Bugzilla Database</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="cleanupwork.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECTION"
+><H1
+CLASS="SECTION"
+><A
+NAME="GRANTTABLES"
+>B.3. MySQL Permissions &#38; Grant Tables</A
+></H1
+><DIV
+CLASS="NOTE"
+><BLOCKQUOTE
+CLASS="NOTE"
+><P
+><B
+>Note: </B
+>The following portion of documentation comes from my answer to an old discussion of Keynote, a cool product that does trouble-ticket tracking for IT departments. I wrote this post to the Keynote support group regarding MySQL grant table permissions, and how to use them effectively. It is badly in need of updating, as I believe MySQL has added a field or two to the grant tables since this time, but it serves as a decent introduction and troubleshooting document for grant table issues. I used Keynote to track my troubles until I discovered Bugzilla, which gave me a whole new set of troubles to work on : )</P
+></BLOCKQUOTE
+></DIV
+><P
+CLASS="LITERALLAYOUT"
+>From&nbsp;matt_barnson@singletrac.com&nbsp;Wed&nbsp;Jul&nbsp;&nbsp;7&nbsp;09:00:07&nbsp;1999<br>
+Date:&nbsp;Mon,&nbsp;1&nbsp;Mar&nbsp;1999&nbsp;21:37:04&nbsp;-0700&nbsp;<br>
+From:&nbsp;Matthew&nbsp;Barnson&nbsp;matt_barnson@singletrac.com<br>
+To:&nbsp;keystone-users@homeport.org<br>
+Subject:&nbsp;[keystone-users]&nbsp;Grant&nbsp;Tables&nbsp;FAQ<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;[The&nbsp;following&nbsp;text&nbsp;is&nbsp;in&nbsp;the&nbsp;"iso-8859-1"&nbsp;character&nbsp;set]<br>
+&nbsp;&nbsp;&nbsp;&nbsp;[Your&nbsp;display&nbsp;is&nbsp;set&nbsp;for&nbsp;the&nbsp;"US-ASCII"&nbsp;character&nbsp;set]<br>
+&nbsp;&nbsp;&nbsp;&nbsp;[Some&nbsp;characters&nbsp;may&nbsp;be&nbsp;displayed&nbsp;incorrectly]<br>
+<br>
+Maybe&nbsp;we&nbsp;can&nbsp;include&nbsp;this&nbsp;rambling&nbsp;message&nbsp;in&nbsp;the&nbsp;Keystone&nbsp;FAQ?&nbsp;&nbsp;It&nbsp;gets<br>
+asked&nbsp;a&nbsp;lot,&nbsp;and&nbsp;the&nbsp;only&nbsp;option&nbsp;current&nbsp;listed&nbsp;in&nbsp;the&nbsp;FAQ&nbsp;is<br>
+"--skip-grant-tables".<br>
+<br>
+Really,&nbsp;you&nbsp;can't&nbsp;go&nbsp;wrong&nbsp;by&nbsp;reading&nbsp;section&nbsp;6&nbsp;of&nbsp;the&nbsp;MySQL&nbsp;manual,&nbsp;at<br>
+http://www.mysql.com/Manual/manual.html.&nbsp;&nbsp;I&nbsp;am&nbsp;sure&nbsp;their&nbsp;description&nbsp;is<br>
+better&nbsp;than&nbsp;mine.<br>
+<br>
+MySQL&nbsp;runs&nbsp;fine&nbsp;without&nbsp;permissions&nbsp;set&nbsp;up&nbsp;correctly&nbsp;if&nbsp;you&nbsp;run&nbsp;the&nbsp;mysql<br>
+daemon&nbsp;with&nbsp;the&nbsp;"--skip-grant-tables"&nbsp;option.&nbsp;&nbsp;Running&nbsp;this&nbsp;way&nbsp;denies<br>
+access&nbsp;to&nbsp;nobody.&nbsp;&nbsp;Unfortunately,&nbsp;unless&nbsp;you've&nbsp;got&nbsp;yourself&nbsp;firewalled&nbsp;it<br>
+also&nbsp;opens&nbsp;the&nbsp;potential&nbsp;for&nbsp;abuse&nbsp;if&nbsp;someone&nbsp;knows&nbsp;you're&nbsp;running&nbsp;it.<br>
+<br>
+Additionally,&nbsp;the&nbsp;default&nbsp;permissions&nbsp;for&nbsp;MySQL&nbsp;allow&nbsp;anyone&nbsp;at&nbsp;localhost<br>
+access&nbsp;to&nbsp;the&nbsp;database&nbsp;if&nbsp;the&nbsp;database&nbsp;name&nbsp;begins&nbsp;with&nbsp;"test_"&nbsp;or&nbsp;is&nbsp;named<br>
+"test"&nbsp;(i.e.&nbsp;"test_keystone").&nbsp;&nbsp;You&nbsp;can&nbsp;change&nbsp;the&nbsp;name&nbsp;of&nbsp;your&nbsp;database&nbsp;in<br>
+the&nbsp;keystone.conf&nbsp;file&nbsp;($sys_dbname).&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;way&nbsp;I&nbsp;am&nbsp;doing&nbsp;it&nbsp;for<br>
+some&nbsp;of&nbsp;my&nbsp;databases,&nbsp;and&nbsp;it&nbsp;works&nbsp;fine.<br>
+<br>
+The&nbsp;methods&nbsp;described&nbsp;below&nbsp;assume&nbsp;you're&nbsp;running&nbsp;MySQL&nbsp;on&nbsp;the&nbsp;same&nbsp;box&nbsp;as<br>
+your&nbsp;webserver,&nbsp;and&nbsp;that&nbsp;you&nbsp;don't&nbsp;mind&nbsp;if&nbsp;your&nbsp;$sys_dbuser&nbsp;for&nbsp;Keystone&nbsp;has<br>
+superuser&nbsp;access.&nbsp;&nbsp;See&nbsp;near&nbsp;the&nbsp;bottom&nbsp;of&nbsp;this&nbsp;message&nbsp;for&nbsp;a&nbsp;description&nbsp;of<br>
+what&nbsp;each&nbsp;field&nbsp;does.<br>
+<br>
+Method&nbsp;#1:<br>
+<br>
+1.&nbsp;&nbsp;cd&nbsp;/var/lib<br>
+ #location&nbsp;where&nbsp;you'll&nbsp;want&nbsp;to&nbsp;run&nbsp;/usr/bin/mysql_install_db&nbsp;shell<br>
+script&nbsp;from&nbsp;to&nbsp;get&nbsp;it&nbsp;to&nbsp;work.<br>
+<br>
+2.&nbsp;&nbsp;ln&nbsp;-s&nbsp;mysql&nbsp;data&nbsp;&nbsp;<br>
+ #&nbsp;soft&nbsp;links&nbsp;the&nbsp;"mysql"&nbsp;directory&nbsp;to&nbsp;"data",&nbsp;which&nbsp;is&nbsp;what<br>
+mysql_install_db&nbsp;expects.&nbsp;&nbsp;Alternately,&nbsp;you&nbsp;can&nbsp;edit&nbsp;mysql_install_db&nbsp;and<br>
+change&nbsp;all&nbsp;the&nbsp;"./data"&nbsp;references&nbsp;to&nbsp;"./mysql".<br>
+<br>
+3.&nbsp;&nbsp;Edit&nbsp;/usr/bin/mysql_install_db&nbsp;with&nbsp;your&nbsp;favorite&nbsp;text&nbsp;editor&nbsp;(vi,<br>
+emacs,&nbsp;jot,&nbsp;pico,&nbsp;etc.)<br>
+A)&nbsp;&nbsp;Copy&nbsp;the&nbsp;"INSERT&nbsp;INTO&nbsp;db&nbsp;VALUES<br>
+('%','test\_%','','Y','Y','Y','Y','Y','Y');"&nbsp;and&nbsp;paste&nbsp;it&nbsp;immediately&nbsp;after<br>
+itself.&nbsp;&nbsp;Chage&nbsp;the&nbsp;'test\_%'&nbsp;value&nbsp;to&nbsp;'keystone',&nbsp;or&nbsp;the&nbsp;value&nbsp;of<br>
+$sys_dbname&nbsp;in&nbsp;keystone.conf.<br>
+B)&nbsp;&nbsp;If&nbsp;you&nbsp;are&nbsp;running&nbsp;your&nbsp;keystone&nbsp;database&nbsp;with&nbsp;any&nbsp;user,&nbsp;you'll&nbsp;need&nbsp;to<br>
+copy&nbsp;the&nbsp;"INSERT&nbsp;INTO&nbsp;user&nbsp;VALUES<br>
+('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');"&nbsp;line&nbsp;after<br>
+itself&nbsp;and&nbsp;change&nbsp;'root'&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;keystone&nbsp;database&nbsp;user<br>
+($sys_dbuser)&nbsp;in&nbsp;keystone.conf.<br>
+<br>
+ #&nbsp;adds&nbsp;entries&nbsp;to&nbsp;the&nbsp;script&nbsp;to&nbsp;create&nbsp;grant&nbsp;tables&nbsp;for&nbsp;specific<br>
+hosts&nbsp;and&nbsp;users.&nbsp;&nbsp;The&nbsp;user&nbsp;you&nbsp;set&nbsp;up&nbsp;has&nbsp;super-user&nbsp;access&nbsp;($sys_dbuser)&nbsp;--<br>
+you&nbsp;may&nbsp;or&nbsp;may&nbsp;not&nbsp;want&nbsp;this.&nbsp;&nbsp;The&nbsp;layout&nbsp;of&nbsp;mysql_install_db&nbsp;is&nbsp;really&nbsp;very<br>
+uncomplicated.<br>
+<br>
+4.&nbsp;&nbsp;/usr/bin/mysqladmin&nbsp;shutdown<br>
+ #&nbsp;ya&nbsp;gotta&nbsp;shut&nbsp;it&nbsp;down&nbsp;before&nbsp;you&nbsp;can&nbsp;reinstall&nbsp;the&nbsp;grant&nbsp;tables!<br>
+<br>
+5.&nbsp;&nbsp;rm&nbsp;-i&nbsp;/var/lib/mysql/mysql/*.IS?'&nbsp;and&nbsp;answer&nbsp;'Y'&nbsp;to&nbsp;the&nbsp;deletion<br>
+questions.<br>
+ #&nbsp;nuke&nbsp;your&nbsp;current&nbsp;grant&nbsp;tables.&nbsp;&nbsp;This&nbsp;WILL&nbsp;NOT&nbsp;delete&nbsp;any&nbsp;other<br>
+databases&nbsp;than&nbsp;your&nbsp;grant&nbsp;tables.<br>
+<br>
+6.&nbsp;&nbsp;/usr/bin/mysql_install_db<br>
+ #&nbsp;run&nbsp;the&nbsp;script&nbsp;you&nbsp;just&nbsp;edited&nbsp;to&nbsp;install&nbsp;your&nbsp;new&nbsp;grant&nbsp;tables.<br>
+<br>
+7.&nbsp;&nbsp;mysqladmin&nbsp;-u&nbsp;root&nbsp;password&nbsp;(new_password)&nbsp;&nbsp;<br>
+ #&nbsp;change&nbsp;the&nbsp;root&nbsp;MySQL&nbsp;password,&nbsp;or&nbsp;else&nbsp;anyone&nbsp;on&nbsp;localhost&nbsp;can<br>
+login&nbsp;to&nbsp;MySQL&nbsp;as&nbsp;root&nbsp;and&nbsp;make&nbsp;changes.&nbsp;&nbsp;You&nbsp;can&nbsp;skip&nbsp;this&nbsp;step&nbsp;if&nbsp;you&nbsp;want<br>
+keystone&nbsp;to&nbsp;connect&nbsp;as&nbsp;root&nbsp;with&nbsp;no&nbsp;password.<br>
+<br>
+8.&nbsp;&nbsp;mysqladmin&nbsp;-u&nbsp;(webserver_user_name)&nbsp;password&nbsp;(new_password)&nbsp;&nbsp;<br>
+ #&nbsp;change&nbsp;the&nbsp;password&nbsp;of&nbsp;the&nbsp;$sys_dbuser.&nbsp;&nbsp;Note&nbsp;that&nbsp;you&nbsp;will&nbsp;need<br>
+to&nbsp;change&nbsp;the&nbsp;password&nbsp;in&nbsp;the&nbsp;keystone.conf&nbsp;file&nbsp;as&nbsp;well&nbsp;in&nbsp;$sys_dbpasswd,<br>
+and&nbsp;if&nbsp;your&nbsp;permissions&nbsp;are&nbsp;set&nbsp;up&nbsp;incorrectly&nbsp;anybody&nbsp;can&nbsp;type&nbsp;the&nbsp;URL&nbsp;to<br>
+your&nbsp;keystone.conf&nbsp;file&nbsp;and&nbsp;get&nbsp;the&nbsp;password.&nbsp;&nbsp;Not&nbsp;that&nbsp;this&nbsp;will&nbsp;help&nbsp;them<br>
+much&nbsp;if&nbsp;your&nbsp;permissions&nbsp;are&nbsp;set&nbsp;to&nbsp;@localhost.<br>
+<br>
+<br>
+<br>
+Method&nbsp;#2:&nbsp;&nbsp;easier,&nbsp;but&nbsp;a&nbsp;pain&nbsp;reproducing&nbsp;if&nbsp;you&nbsp;have&nbsp;to&nbsp;delete&nbsp;your&nbsp;grant<br>
+tables.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;"recommended"&nbsp;method&nbsp;for&nbsp;altering&nbsp;grant&nbsp;tables&nbsp;in<br>
+MySQL.&nbsp;&nbsp;I&nbsp;don't&nbsp;use&nbsp;it&nbsp;because&nbsp;I&nbsp;like&nbsp;the&nbsp;other&nbsp;way&nbsp;:)<br>
+<br>
+shell&#62;&nbsp;mysql&nbsp;--user=root&nbsp;keystone<br>
+<br>
+mysql&#62;&nbsp;GRANT<br>
+SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,<br>
+FILE,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON&nbsp;keystone.*<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TO&nbsp;&#60;$sys_dbuser&nbsp;name&#62;@localhost<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IDENTIFIED&nbsp;BY&nbsp;'(password)'<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH&nbsp;GRANT&nbsp;OPTION;<br>
+<br>
+OR<br>
+<br>
+mysql&#62;&nbsp;GRANT&nbsp;ALL&nbsp;PRIVELEGES&nbsp;<br>
+ ON&nbsp;keystone.*<br>
+ TO&nbsp;&#60;$sys_dbuser&nbsp;name&#62;@localhost<br>
+ IDENTIFIED&nbsp;BY&nbsp;'(password)'<br>
+ WITH&nbsp;GRANT&nbsp;OPTION;<br>
+<br>
+ #&nbsp;this&nbsp;grants&nbsp;the&nbsp;required&nbsp;permissions&nbsp;to&nbsp;the&nbsp;keystone&nbsp;($sys_dbuser)<br>
+account&nbsp;defined&nbsp;in&nbsp;keystone.conf.&nbsp;&nbsp;However,&nbsp;if&nbsp;you&nbsp;are&nbsp;runnning&nbsp;many<br>
+different&nbsp;MySQL-based&nbsp;apps,&nbsp;as&nbsp;we&nbsp;are,&nbsp;it's&nbsp;generally&nbsp;better&nbsp;to&nbsp;edit&nbsp;the<br>
+mysql_install_db&nbsp;script&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;quickly&nbsp;reproduce&nbsp;your&nbsp;permissions<br>
+structure&nbsp;again.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;FILE&nbsp;privelege&nbsp;and&nbsp;WITH&nbsp;GRANT&nbsp;OPTION&nbsp;may&nbsp;not<br>
+be&nbsp;in&nbsp;your&nbsp;best&nbsp;interest&nbsp;to&nbsp;include.<br>
+<br>
+<br>
+GRANT&nbsp;TABLE&nbsp;FIELDS&nbsp;EXPLANATION:<br>
+Quick&nbsp;syntax&nbsp;summary:&nbsp;&nbsp;"%"&nbsp;in&nbsp;MySQL&nbsp;is&nbsp;a&nbsp;wildcard.&nbsp;&nbsp;I.E.,&nbsp;if&nbsp;you&nbsp;are<br>
+defining&nbsp;your&nbsp;DB&nbsp;table&nbsp;and&nbsp;in&nbsp;the&nbsp;'host'&nbsp;field&nbsp;and&nbsp;enter&nbsp;'%',&nbsp;that&nbsp;means<br>
+that&nbsp;any&nbsp;host&nbsp;can&nbsp;access&nbsp;that&nbsp;database.&nbsp;&nbsp;Of&nbsp;course,&nbsp;that&nbsp;host&nbsp;must&nbsp;also&nbsp;have<br>
+a&nbsp;valid&nbsp;db&nbsp;user&nbsp;in&nbsp;order&nbsp;to&nbsp;do&nbsp;anything&nbsp;useful.&nbsp;&nbsp;'db'=name&nbsp;of&nbsp;database.&nbsp;&nbsp;In<br>
+our&nbsp;case,&nbsp;it&nbsp;should&nbsp;be&nbsp;"keystone".&nbsp;&nbsp;"user"&nbsp;should&nbsp;be&nbsp;your&nbsp;"$sys_dbuser"<br>
+defined&nbsp;in&nbsp;keystone.conf.&nbsp;&nbsp;Note&nbsp;that&nbsp;you&nbsp;CANNOT&nbsp;add&nbsp;or&nbsp;change&nbsp;a&nbsp;password&nbsp;by<br>
+using&nbsp;the&nbsp;"INSERT&nbsp;INTO&nbsp;db&nbsp;(X)"&nbsp;command&nbsp;--&nbsp;you&nbsp;must&nbsp;change&nbsp;it&nbsp;with&nbsp;the&nbsp;mysql<br>
+-u&nbsp;command&nbsp;as&nbsp;defined&nbsp;above.&nbsp;&nbsp;Passwords&nbsp;are&nbsp;stored&nbsp;encrypted&nbsp;in&nbsp;the&nbsp;MySQL<br>
+database,&nbsp;and&nbsp;if&nbsp;you&nbsp;try&nbsp;to&nbsp;enter&nbsp;it&nbsp;directly&nbsp;into&nbsp;the&nbsp;table&nbsp;they&nbsp;will&nbsp;not<br>
+match.<br>
+<br>
+TABLE:&nbsp;&nbsp;USER.&nbsp;&nbsp;Everything&nbsp;after&nbsp;"password"&nbsp;is&nbsp;a&nbsp;privelege&nbsp;granted&nbsp;(Y/N).<br>
+This&nbsp;table&nbsp;controls&nbsp;individual&nbsp;user&nbsp;global&nbsp;access&nbsp;rights.<br>
+<br>
+'host','user','password','select','insert','update','delete','index','alter'<br>
+,'create','drop','grant','reload','shutdown','process','file'<br>
+<br>
+TABLE:&nbsp;&nbsp;DB.&nbsp;&nbsp;This&nbsp;controls&nbsp;access&nbsp;of&nbsp;USERS&nbsp;to&nbsp;databases.<br>
+<br>
+'host','db','user','select','insert','update','delete','index','alter','crea<br>
+te','drop','grant'<br>
+<br>
+TABLE:&nbsp;&nbsp;HOST.&nbsp;&nbsp;This&nbsp;controls&nbsp;which&nbsp;HOSTS&nbsp;are&nbsp;allowed&nbsp;what&nbsp;global&nbsp;access<br>
+rights.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;HOST&nbsp;table,&nbsp;USER&nbsp;table,&nbsp;and&nbsp;DB&nbsp;table&nbsp;are&nbsp;very&nbsp;closely<br>
+connected&nbsp;--&nbsp;if&nbsp;an&nbsp;authorized&nbsp;USER&nbsp;attempts&nbsp;an&nbsp;SQL&nbsp;request&nbsp;from&nbsp;an<br>
+unauthorized&nbsp;HOST,&nbsp;she's&nbsp;denied.&nbsp;&nbsp;If&nbsp;a&nbsp;request&nbsp;from&nbsp;an&nbsp;authorized&nbsp;HOST&nbsp;is<br>
+not&nbsp;an&nbsp;authorized&nbsp;USER,&nbsp;it&nbsp;is&nbsp;denied.&nbsp;&nbsp;If&nbsp;a&nbsp;globally&nbsp;authorized&nbsp;USER&nbsp;does<br>
+not&nbsp;have&nbsp;rights&nbsp;to&nbsp;a&nbsp;certain&nbsp;DB,&nbsp;she's&nbsp;denied.&nbsp;&nbsp;Get&nbsp;the&nbsp;picture?<br>
+<br>
+'host','db','select','insert','update','delete','index','alter','create','dr<br>
+op','grant'<br>
+<br>
+<br>
+You&nbsp;should&nbsp;now&nbsp;have&nbsp;a&nbsp;working&nbsp;knowledge&nbsp;of&nbsp;MySQL&nbsp;grant&nbsp;tables.&nbsp;&nbsp;If&nbsp;there&nbsp;is<br>
+anything&nbsp;I've&nbsp;left&nbsp;out&nbsp;of&nbsp;this&nbsp;answer&nbsp;that&nbsp;you&nbsp;feel&nbsp;is&nbsp;pertinent,&nbsp;or&nbsp;if&nbsp;my<br>
+instructions&nbsp;don't&nbsp;work&nbsp;for&nbsp;you,&nbsp;please&nbsp;let&nbsp;me&nbsp;know&nbsp;and&nbsp;I'll&nbsp;re-post&nbsp;this<br>
+letter&nbsp;again,&nbsp;corrected.&nbsp;&nbsp;I&nbsp;threw&nbsp;it&nbsp;together&nbsp;one&nbsp;night&nbsp;out&nbsp;of&nbsp;exasperation<br>
+for&nbsp;all&nbsp;the&nbsp;newbies&nbsp;who&nbsp;don't&nbsp;know&nbsp;squat&nbsp;about&nbsp;MySQL&nbsp;yet,&nbsp;so&nbsp;it&nbsp;is&nbsp;almost<br>
+guaranteed&nbsp;to&nbsp;have&nbsp;errors.<br>
+<br>
+Once&nbsp;again,&nbsp;you&nbsp;can't&nbsp;go&nbsp;wrong&nbsp;by&nbsp;reading&nbsp;section&nbsp;6&nbsp;of&nbsp;the&nbsp;MySQL&nbsp;manual.&nbsp;&nbsp;It<br>
+is&nbsp;more&nbsp;detailed&nbsp;than&nbsp;I!<br>
+http://www.mysql.com/Manual/manual.html.<br>
+<br>
+----------------------------------------------------------------------------<br>
+10/12/2000<br>
+Matthew&nbsp;sent&nbsp;in&nbsp;some&nbsp;mail&nbsp;with&nbsp;updated&nbsp;contact&nbsp;information:<br>
+NEW&nbsp;CONTACT&nbsp;INFORMATION:&nbsp;<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------------------------&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matthew&nbsp;P.&nbsp;Barnson&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager,&nbsp;Systems&nbsp;Administration&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Excite@Home&nbsp;Business&nbsp;Applications&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mbarnson@excitehome.net&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(801)234-8300&nbsp;<br>
+<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="dbdoc.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="cleanupwork.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>MySQL Bugzilla Database Introduction</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="database.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Cleaning up after mucking with Bugzilla</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file