---
name: "Wiki::Toolkit::Setup::MySQL"
section: "3pm"
platform: "linux"
package: "libwiki-toolkit-perl"
version: "0.86-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Wiki::Toolkit::Setup::MySQL"
---

# Wiki::Toolkit::Setup::MySQL(3pm)

Set up tables for a Wiki::Toolkit store in a MySQL database.

## NAME

Wiki::Toolkit::Setup::MySQL - Set up tables for a Wiki::Toolkit store in a MySQL database.

## SYNOPSIS

```
  use Wiki::Toolkit::Setup::MySQL;
  Wiki::Toolkit::Setup::MySQL::setup($dbname, $dbuser, $dbpass, $dbhost);
```

Omit `$dbhost` if the database is local.

## DESCRIPTION

Set up a MySQL database for use as a Wiki::Toolkit store.

## FUNCTIONS

- **setup**

  ```
    use Wiki::Toolkit::Setup::MySQL;
    Wiki::Toolkit::Setup::MySQL::setup($dbname, $dbuser, $dbpass, $dbhost);
  ```

  or

  ```
    Wiki::Toolkit::Setup::Mysql::setup( $dbh );
  ```

  You can either provide an active database handle `$dbh` or connection parameters.

  If you provide connection parameters the following arguments are mandatory -- the database name, the username and the password. The username must be able to create and drop tables in the database.

  The `$dbhost` argument is optional -- omit it if the database is local.

  **NOTE:** If a table that the module wants to create already exists, `"setup"` will leave it alone. This means that you can safely run this on an existing Wiki::Toolkit database to bring the schema up to date with the current Wiki::Toolkit version. If you wish to completely start again with a fresh database, run `"cleardb"` first.

- **cleardb**

  ```
    use Wiki::Toolkit::Setup::MySQL;
    # Clear out all Wiki::Toolkit tables from the database.
    Wiki::Toolkit::Setup::MySQL::cleardb($dbname, $dbuser, $dbpass, $dbhost);
  ```

  or

  ```
    Wiki::Toolkit::Setup::Mysql::cleardb( $dbh );
  ```

  You can either provide an active database handle `$dbh` or connection parameters.

  If you provide connection parameters the following arguments are mandatory -- the database name, the username and the password. The username must be able to drop tables in the database.

  The `$dbhost` argument is optional -- omit if the database is local.

  Clears out all Wiki::Toolkit store tables from the database. **NOTE** that this will lose all your data; you probably only want to use this for testing purposes or if you really screwed up somewhere. Note also that it doesn't touch any Wiki::Toolkit search backend tables; if you have any of those in the same or a different database see either Wiki::Toolkit::Setup::DBIxFTS or Wiki::Toolkit::Setup::SII, depending on which search backend you're using.

## ALTERNATIVE CALLING SYNTAX

As requested by Podmaster.  Instead of passing arguments to the methods as

```
  ($dbname, $dbuser, $dbpass, $dbhost)
```

you can pass them as

```
  ( { dbname => $dbname,
      dbuser => $dbuser,
      dbpass => $dbpass,
      dbhost => $dbhost
    }
  )
```

or indeed as

```
  ( { dbh => $dbh } )
```

Note that's a hashref, not a hash.

## AUTHOR

Kake Pugh (kake@earth.li).

## COPYRIGHT

```
     Copyright (C) 2002-2004 Kake Pugh.  All Rights Reserved.
     Copyright (C) 2006-2008 the Wiki::Toolkit team. All Rights Reserved.
```

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## SEE ALSO

Wiki::Toolkit, Wiki::Toolkit::Setup::DBIxMySQL, Wiki::Toolkit::Setup::SII
