Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Hailo::Storage::MySQL(User Contributed Perl DocumentatHailo::Storage::MySQL(3)

NAME
       Hailo::Storage::MySQL - A storage backend for Hailo using DBD::mysql

SYNOPSIS
       As a module:

	   my $hailo = Hailo->new(
	       storage_class =>	'mysql',
	       storage_args  =>	{
		   database  =>	'hailo',
		   host	     =>	'localhost',
		   port	     =>	'3306',
		   username  =>	'hailo',
		   password  =>	'hailo'
	       },
	   );
	   $hailo->train("hailo.trn");

       From the	command	line:

	   hailo --train hailo.trn \
	       --storage      mysql \
	       --storage-args database=hailo \
	       --storage-args host=localhost \
	       --storage-args port=3306	\
	       --storage-args username=hailo \
	       --storage-args password=hailo

       Almost all of these options can be omitted, see DBD::mysql's
       documentation for the default values.

       See Hailo's documentation for other non-MySQL specific options.

DESCRIPTION
       This backend maintains information in a MySQL database.

ATTRIBUTES
   "storage_args"
       This is a hash reference	which can have the following keys:

       'database', the name of the database to use (required).

       'host', the host	to connect to (required).

       'port', the port	to connect to (required).

       'username', the username	to use.

       'password', the password	to use.

CAVEATS
       MySQL sucks.

MySQL setup
       Before creating a database for Hailo you	need to	ensure that the
       collation_connection, collation_database	and collation_server for the
       new database will be equivalent,	you can	do this	by adding this to your
       "[mysqld]" section in my.cnf:

	   skip-character-set-client-handshake
	   collation_server=utf8_unicode_ci
	   character_set_server=utf8

       Now when	you create the database	you should get something like this:

	   mysql> show variables like 'coll%';
	   +----------------------+-----------------+
	   | Variable_name	  | Value	    |
	   +----------------------+-----------------+
	   | collation_connection | utf8_unicode_ci |
	   | collation_database	  | utf8_unicode_ci |
	   | collation_server	  | utf8_unicode_ci |
	   +----------------------+-----------------+

       If you instead get this:

	   +----------------------+-------------------+
	   | Variable_name	  | Value	      |
	   +----------------------+-------------------+
	   | collation_connection | utf8_unicode_ci   |
	   | collation_database	  | latin1_swedish_ci |
	   | collation_server	  | utf8_unicode_ci   |
	   +----------------------+-------------------+

       Then Hailo will eventually die when you train it	on an error similar to
       this:

	   DBD::mysql::st execute failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT)
	   and (utf8_unicode_ci,COERCIBLE) for operation '=' at	[...]

       After taking care of that create	a MySQL	database for Hailo using
       something like these commands:

	   mysql -u root -p
	   CREATE DATABASE hailo;
	   GRANT USAGE ON *.* TO hailo@localhost IDENTIFIED BY 'hailo';
	   GRANT ALL ON	hailo.*	TO hailo@localhost IDENTIFIED BY 'hailo';
	   FLUSH PRIVILEGES;

AUTHOR
       Avar ArnfjA<paragraph>rA<degree>	Bjarmason <avar@cpan.org>

LICENSE	AND COPYRIGHT
       Copyright 2010 Avar ArnfjA<paragraph>rA<degree> Bjarmason.

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

perl v5.32.0			  2018-11-28	      Hailo::Storage::MySQL(3)

NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | CAVEATS | MySQL setup | AUTHOR | LICENSE AND COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Hailo::Storage::MySQL&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help