FreeBSD Manual Pages
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.1 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+13.0-RELEASE+and+Ports>