# Apache::Session::Store::MySQL - phpMan

## NAME
    [Apache::Session::Store::MySQL] - Store persistent data in a MySQL
    database

## SYNOPSIS
     use [Apache::Session::Store::MySQL];

     my $store = new [Apache::Session::Store::MySQL];

     $store->insert($ref);
     $store->update($ref);
     $store->materialize($ref);
     $store->remove($ref);

## DESCRIPTION
    [Apache::Session::Store::MySQL] fulfills the storage interface of
    [Apache::Session]. Session data is stored in a MySQL database.

## SCHEMA
    To use this module, you will need at least these columns in a table
    called 'sessions', or another table name if you provide the TableName
    argument:

     id [char(32)]     # or however long your session IDs are.
     a_session blob  # or varbinary if you plan to use a big session (>64k after serialization)

    To create this schema, you can execute this command using the mysql
    program:

     CREATE TABLE sessions (
        id [char(32)] not null primary key,
        a_session blob
     );

    If you use some other command, ensure that there is a unique index on
    the table's id column.

## CONFIGURATION
    The module must know what datasource, username, and password to use when
    connecting to the database. These values can be set using the options
    hash (see [Apache::Session] documentation). The options are:

    DataSource
    UserName
    Password
    TableName
    Handle

    Example:

     tie %hash, '[Apache::Session::MySQL]', $id, {
         DataSource => 'dbi:mysql:database',
         UserName   => 'database_user',
         Password   => 'K00l',
         TableName  => 'sessions'
     };

    Instead, you may pass in an already-opened DBI handle to your database.

     tie %hash, '[Apache::Session::MySQL]', $id, {
         Handle => $dbh
     };

## AUTHOR
    This modules was written by Jeffrey William Baker <<jwbaker@acm.org>>

## SEE ALSO
    [Apache::Session]

