Provided by: grass-doc_6.4.3-3_all bug


       grass-mysql - MySQL driver

       MySQL  driver  MySQL driver in GRASS MySQL database driver in GRASS enables GRASS to store
       vector attributes in MySQL server.

       Because vector attribute tables are created automatically when a new vector is written and
       the  name of the table is the same as the name of the vector it is good practice to create
       a new database for each GRASS mapset.

Creating a MySQL database

       A new database is created within MySQL:
       mysql> CREATE DATABASE mydb;
        See the MySQL manual for details.

Driver and database name

       GRASS modules require 2 parameters  to  connect  to  a  database.   Those  parameters  are
       'driver'  and  'database'.  For MySQL driver the parameter 'driver' should be set to value
       'mysql'.  The parameter 'database' can be given in two formats:

                      Database name - in case of connection from localhost

                      String of comma separated list of  kye=value  options.   Supported  options

                             dbname - database name

                             host - host name or IP address

                             port - server port number
       Examples of connection parameters:
         db.connect driver=mysql database=mytest
         db.connect driver=mysql database='dbname=mytest,'

Data types

       GRASS supports almost all MySQL data types with following limitations:

                      Binary  columns  (BINARY,  VARBINARY, TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB)
                     are not not supported.  If a table with binary column(s) is used in GRASS  a
                     warning  is  printed  and  only  the supported columns are returned in query

                      Columns of type SET and ENUM are represented as string (VARCHAR).

                      Very large integers in columns of type BIGINT  can  be  lost  or  corrupted
                     because GRASS does not support 64 bin integeres on most platforms.

                      GRASS  does  not  currently  distinguish types TIMESTAMP and DATETIME. Both
                     types are in GRASS interpreted as TIMESTAMP.


       GRASS modules automatically create index on key column of  vector  attributes  table.  The
       index  on  key  column  is important for performance of modules which update the attribute
       table, for example, v.distance and v.what.rast.


       Because MySQL does not support groups of users and because only  MySQL  'root'  can  grant
       privileges  to  other  users GRASS cannot automatically grant select privileges on created
       tables to group of users.

       If you want to give privilege to read data from your mapset to other users you have to ask
       your  MySQL  server  administrator to grant select privilege to them on the MySQL database
       used for that mapset. For example, to allow  everybody to read data in from your  database

       shell> mysql --user=root mysql
       mysql> GRANT SELECT ON mydb.* TO ''@'%';


       Because  MySQL  does  not  support  database  schemas  the  parameter  ’schema'  of module
       db.connect should never be set to any value. If you set that parameter  for  MySQL  driver
       GRASS will try to write tables to the specified schema which will result in errors.


       MySQL  does not support user groups. Any settings specified by 'group' parameter of module
       db.connect are ignored by GRASS for MySQL driver.


        db.connect, SQL support in GRASS GIS


       Development of the driver was sponsored by Faunalia (Italy) as part of a project for ATAC.


       Radim Blazek

       Last changed: $Date: 2012-09-07 01:20:29 -0700 (Fri, 07 Sep 2012) $
       Main index - database index - full index