Important mysql settings in my.cfg/my.ini:
[mysqld] ## LAMS additions explicit_defaults_for_timestamp character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci transaction-isolation=READ-COMMITTED sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" interactive_timeout = 300 wait_timeout = 300 innodb_file_per_table = 1 max_allowed_packet=32M [mysqldump] default-character-set=utf8mb4 hex-blob=1 single-transaction=1 quick=1
Create DB and db user
(default settings, please change)
mysql> CREATE DATABASE lams DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; mysql> CREATE USER 'lams'@'localhost' IDENTIFIED BY 'lamsdemo'; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON lams_nus3.* TO 'lams'@'localhost'; mysql> FLUSH PRIVILEGES;
LAMS 2.5 and 3.0
LAMS requires MySQL 5+. 0. Note that it will not work with MySQL 4 or below.
You can download MySQL 5.0 + for Windows from the MySQL downloads website. The MySQL Essentials package is about 17 MB in size.
Installing and Configuring MySQL
This tutorial shows how to install MySQL server and prepare a user and database for LAMS:
<iframe width="640" height="480" src="//www.youtube.com/embed/Xuj5kyxWq_o" frameborder="0" allowfullscreen></iframe>
Creating a the LAMS database
Login into MySQL as root and run the following two commands to create a database for LAMS and its user to access it:
mysql> DROP DATABASE IF EXISTS lams; mysql> CREATE DATABASE lams DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON lams.* TO lams@localhost IDENTIFIED BY 'lamsdemo';
We use lams as database name and db user and lamsdemo as password. These are the default settings, but you can set your own. Just make sure you change these settings when you build LAMS (see common.properties file).
Only required if you know what you are doing.
For those interested, you can find out more about installing and configuring MySQL from the MySQL chapter on Windows installation. For LAMS usage, the defaults in the installer should be fine.
LAMS expected the following two entries to exist in the my.ini file in the \in the [mysqld\] section Wiki Markup
[mysqld] ... transaction-isolation=READ-COMMITTED ... sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
For those installing on Windows without the installer, please ensure you have these lines in your my.ini, or my.cnf. This file can usually be found in either your MySQL Server directory (e.g. C:\Program Files\MySQL Server 5.0) or in your Windows directory (C:\Windows). If you are using Linux/Ubuntu/Debian, you can probably find the file in /etc/mysql/my.cnf.
If installing MySQL using the MySQL Windows installer the sql-mode will already be set for you. In this case the transaction-isolation setting will be configured by the LAMS Windows installer, so you don't have to worry about editing the my.ini file.
If you are installing LAMS onto MySQL which is part of XAMPP, you will should set up the transaction-isolation setting. The my.ini file is likely to be in your windows directory.