InnoSetup + MySQL ODBC script = Error Message - mysql

I have been trying to create an installer using Inno Setup for my vb.net application.
This application has a prerequisite dependency on MySQL ODBC. So, I was thinking if I could check the system if MySQL ODBC is present, and install if not. Well, to be frank, I am a newbie programmer, and I know no hell about debian, which is the script language for InnoSetup.
I was looking for help since some time, through google and stuff, but couldn't find anything other than some examples, and tried coding the script myself.
Here's the script:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{ID goes here}
AppName=DCS
AppVersion=1.0
;AppVerName=DCS 1.0
AppPublisher=Syed
DefaultDirName={pf}\DCS
DisableDirPage=yes
DefaultGroupName=DCS
DisableProgramGroupPage=yes
OutputBaseFilename=setup
SetupIconFile=C:\logo.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.vshost.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.vshost.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.application"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.vshost.application"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.vshost.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\DCS.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\VS12\Projects\DCS\bin\Debug\mysql-connector-odbc-5.1.12-win32.msi"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[code]
function IsMySQLOdbcInstalled(): boolean;
begin
If NOT RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver') then
Result := True
Else
Result := False;
end;
[Icons]
Name: "{group}\DCS"; Filename: "{app}\DCS.exe"
Name: "{commondesktop}\DCS"; Filename: "{app}\DCS.exe"; Tasks: desktopicon
[Run]
Filename: {src}\mysql-connector-odbc-5.1.12-win32.msi; Check: IsMySQLOdbcInstalled()
Filename: "{app}\DCS.exe"; Description: "{cm:LaunchProgram,DCS}"; Flags: nowait postinstall skipifsilent
Now, the compile goes fine, and generates a setup.exe executable. When run, the app DCS gets installed, but the MySQL ODBC doesn't and gives an error,
Unable to execute file:
'Output path'\mysql-connector-odbc-5.1.12-win32.msi
Create Process failed; code2.
The system cannot find the file specified.
OK
I thought the output folder needs the mysql-connector-odbc msi installation folder. Just to check, I copied it manually, recompiled and ran setup, only to get the same, but with some change:
Unable to execute file:
'Output path'\mysql-connector-odbc-5.1.12-win32.msi
Create Process failed; code193.
%1 is not a vaild Win32 application.
OK
And also, I wanted the installer to check for the MySQL ODBC driver before any installation proceeds, but here, it does so after the main application install. Can anyone please help me correct this script?
Thanks

The problem lies in your [Run] section. You're going to execute that MySQL ODBC installer from the {src} path. Since you copy your mysql-connector-odbc-5.1.12-win32.msi installer file to the {app} folder, you must run it from the same. Fix your [Run] section of the script this way:
[Run]
; on the following line, run the executable from the {app} directory instead
; of {src}; the {src} folder is the folder in which the Setup files are located
; since it is not an *.exe file, you must also specify the shellexec flag
Filename: {app}\mysql-connector-odbc-5.1.12-win32.msi; Check: IsMySQLOdbcInstalled(); Flags: shellexec
Filename: "{app}\DCS.exe"; Description: "{cm:LaunchProgram,DCS}"; Flags: nowait postinstall skipifsilent
Update:
To meet your additional requirement, run the ODBC driver installer before the main installation process, I've made the following script example (there are kept only parts relevant to the ODBC driver setup).
Anyway, I guess it might be less annoying if you run the ODBC driver installer in some silent mode with some default setting, so it won't offer wizard to the user if there is some (but that's much wider topic for this question; there will be parameters to control the ODBC driver installer, and those you can pass to the second parameter of the Exec function maybe telling the show window flag to be SW_HIDE instead of SW_SHOWNORMAL, which will keep it hidden from user). Please note, this code is untested:
[Setup]
AppName=DCS
AppVersion=1.0
DefaultDirName={pf}\DCS
[Files]
; keep just the only one flag, "dontcopy"; it will tell the installer to not copy
; this file entry to the target machine, but will be part of the setup binary and
; available for manual extracting by using the ExtractTemporaryFile(s) function
Source: "C:\VS12\Projects\DCS\bin\Debug\mysql-connector-odbc-5.1.12-win32.msi"; Flags: dontcopy
[Run]
; remove the ODBC driver installer entry from [Run] section since the [Run] section
; is executed after the installation is succesfully finished and your requirement is
; to run it before the installation process
; Filename: {app}\mysql-connector-odbc-5.1.12-win32.msi; Check: IsMySQLOdbcInstalled()
[Code]
function IsMySQLODBC51Installed: Boolean;
begin
// the result was inverted in the original code; the original function returned
// True if the ODBC driver was not installed, False otherwise, and according to
// the function name it should be vice-versa
Result := RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver');
end;
procedure CurStepChanged(CurStep: TSetupStep);
var
ResultCode: Integer;
begin
// if we are right before the main installation starts and ODBC driver is not yet
// installed, then...
if (CurStep = ssInstall) and not IsMySQLODBC51Installed then
begin
// now extract the ODBC installaer to the Inno Setup's temporary folder
ExtractTemporaryFile('mysql-connector-odbc-5.1.12-win32.msi');
// and execute the ODBC driver installation (it is necessary to use ShellExec
// since it is not an *.exe file); if the execution fails, then...
if not ShellExec('', ExpandConstant('{tmp}\mysql-connector-odbc-5.1.12-win32.msi'), '', '',
SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode) then
begin
// show the error message with exit code
MsgBox('MySQL ODBC Driver setup failed!' + #13#10 + 'Exit code: ' + IntToStr(ResultCode) +
'; ' + SysErrorMessage(ResultCode), mbError, MB_OK);
// here you can optionally call Abort to abort the upcoming installation process
// so if you uncomment the following line, the main installation will not run if
// the ODBC driver installer execution failed
// Abort;
end;
end;
end;

Related

Getting ERROR: unknown key name ‘docinfo’ on sharetribe installation

I've been struggling to run bundle exec rake ts:index in my sharetribe project. It's returning an error:
rony#ronyMacMini sharetribe % bundle exec rake ts:index
Generating configuration to /Users/rony/Documents/freelensia Ofc/sharetribe/config/development.sphinx.conf
DEBUG (1.0ms) SET NAMES utf8, ##SESSION.sql_mode = CONCAT(CONCAT(##sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), ##SESSION.sql_auto_is_null = 0, ##SESSION.wait_timeout = 2147483
DEBUG ↳ app/indices/custom_field_value_index.rb:8
DEBUG Delayed::Backend::ActiveRecord::Job Destroy (4.2ms) DELETE FROM `delayed_jobs` WHERE (handler LIKE ('--- !ruby/object:ThinkingSphinx::Deltas::%') AND locked_at IS NULL AND locked_by IS NULL AND failed_at IS NULL)
DEBUG ↳ /Users/rony/.rvm/gems/ruby-2.6.5/bin/rake:23
Sphinx 3.3.1 (commit b72d67bc)
Copyright (c) 2001-2020, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file '/Users/rony/Documents/abc/sharetribe/config/development.sphinx.conf'...
ERROR: unknown key name 'docinfo' in /Users/rony/Documents/abc/sharetribe/config/development.sphinx.conf line 40 col 10.
FATAL: failed to parse config file '/Users/rony/Documents/abc/sharetribe/config/development.sphinx.conf'
The Sphinx indexing command failed:
Command: indexer --config "/Users/rony/Documents/abc/sharetribe/config/development.sphinx.conf" --all
Status: 1
Output: See above
There may be more information about the failure in /Users/rony/Documents/abc/sharetribe/log/development.searchd.log.
Note that: To install thinking-sphinx on my mac, I’ve downloaded a
pre-built set of binaries and copy-pasted content of bin inside
usr/local/bin.
Searched everywhere but couldn't found the solution. I'm sure I'm missing some stupid thing.
Please help me to fix it.
Update
Downgraded sphinx to 2.2.11. Now another issue raised:
dyld: Library not loaded: /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib
Referenced from: /usr/local/bin/indexer
Reason: image not found
zsh: abort indexer
I think /opt/local is not correct system directory format for mac. :(
This is due to recent versions of Sphinx removing the docinfo setting.
Which version of Thinking Sphinx is Sharetribe using? If it's 4.x, you can disable the docinfo settings by adding skip_docinfo: true to each appropriate environment in config/thinking_sphinx.yml. For example:
development:
skip_docinfo: true
In Thinking Sphinx v5.0, docinfo is no longer used, but upgrading requires a bit of work with adding callbacks to all indexed models.
If you're using Thinking Sphinx v3.x, then you'll need to downgrade your version of Sphinx to v2.2.11.

Erlang failing to connect to mysql/mariadb

I cannot connect to mysql/mariadb with erlang.
The requirements according to this github-page:
https://github.com/mysql-otp/mysql-otp
Requirements:
Erlang/OTP version R16B or later
MySQL database version 4.1 or later or MariaDB
GNU Make or Rebar or any other tool for building Erlang/OTP applications
Version:
14> erlang:system_info(otp_release).
"22"
I'm not sure if this requirement is needed anymore but I added this:
[mysqld] default_authentication_plugin=mysql_native_password
to my /etc/my.cnf. But this is probably irrelevant since the error is an undefined function.
I can compile the code but I cannot run it. Any help to get this working is much appreciated.
The code:
-module(mydatabase).
-compile(export_all).
connect_to_database() ->
Conn = mysql:start_link([{host, "localhost"}, {user, "user"},
{password, "password"}, {database, "MyDatabase"}]) ,
case Conn of
{ok, Pid} -> io:fwrite("~w~w~n", [ok,Pid]);
{error, ConnErr} -> io:fwrite("error : ~p ~n", [ConnErr])
end.
start() -> connect_to_database().
mariadb is running:
sudo systemctl status mariadb
[sudo] password for user:
● mariadb.service - MariaDB 10.4.13 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor >
Active: active (running) since Sun 2020-06-28 15:33:50 CEST; 1h 4min ago
The error message:
12> c(mydatabase).
mydatabase.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,mydatabase}
13> mydatabase:start().
** exception error: undefined function mysql:start_link/1
in function mydatabase:connect_to_database/0 (mydatabase.erl, line 1
You forgot about this requirement:
GNU Make or Rebar or any other tool for building Erlang/OTP applications
According to the mysql-otp docs:
MySQL/OTP is a driver for connecting Erlang/OTP applications to MySQL
and MariaDB databases.
An OTP application requires a certain architecture, and the mysql driver needs to be listed as a dependency in the application. Your error is due to the fact that there is no function named mysql:start_link/1 in Erlang. Rather, that's a third party function that your code has to somehow access, hence the Usage as a Dependency section in the docs.
The following steps can be used to create an OTP application which employs mysql/mariaDB as a dependency:
Install rebar3.
Create a rebar3 app:
~/erlang_programs/mysql1$ rebar3 new app myapp
===> Writing myapp/src/myapp_app.erl
===> Writing myapp/src/myapp_sup.erl
===> Writing myapp/src/myapp.app.src
===> Writing myapp/rebar.config
===> Writing myapp/.gitignore
===> Writing myapp/LICENSE
===> Writing myapp/README.md
Add mysql-otp as a dependency in the rebar.config file:
~/erlang_programs/mysql1$ cd myapp
~/erlang_programs/mysql1/myapp$ ls
LICENSE rebar.config
README.md src
like this:
{erl_opts, [debug_info]}.
{deps, [
{mysql, ".*", {
git, "https://github.com/mysql-otp/mysql-otp",
{tag, "1.6.0"}
}
}
]}.
{shell, [
% {config, "config/sys.config"},
{apps, [myapp]}
]}.
Put your source code in the src directory:
~/erlang_programs/mysql1/myapp$ cd src
~/erlang_programs/mysql1/myapp/src$ ls
my_mysql.erl myapp_app.erl
myapp.app.src myapp_sup.erl
my_mysql.erl:
-module(my_mysql).
-compile(export_all).
do_mysql(Name, Info) ->
{ok, MysqlPid} = mysql:start_link(
[{host, "localhost"},
{user, "root"},
{password, ""},
{database, "mydb"}
]
),
ok = mysql:query(
MysqlPid,
"INSERT INTO people (name, info) VALUES (?, ?)", [Name, Info]
),
{ok, ColumnNames, Rows} = mysql:query(
MysqlPid,
<<"SELECT * FROM people">>),
io:format("ColumnNames: ~p~nRows: ~p~n", [ColumnNames, Rows]).
Fetch the dependencies and compile all the source code:
~/erlang_programs/mysql1/myapp$ rebar3 compile
===> Verifying dependencies...
===> Fetching mysql ({git,"https://github.com/mysql-otp/mysql-otp",
{tag,"1.6.0"}})
===> Compiling mysql
===> Compiling myapp
src/my_mysql.erl:2: Warning: export_all flag enabled - all functions will be exported
Launch the shell and automatically construct paths to all your .beam files (in the deeply nested directories that rebar3 puts them):
~/erlang_programs/mysql1/myapp$ rebar3 shell
===> Verifying dependencies...
===> Compiling myapp
Erlang/OTP 20 [erts-9.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe] [kernel-poll:false]
===> The rebar3 shell is a development tool; to deploy applications in production, consider using releases (http://www.rebar3.org/docs/releases)
===> Booted myapp
Eshell V9.3 (abort with ^G)
Execute your function:
1> my_mysql:do_mysql("Jeffsy", "2.0").
ColumnNames: [<<"id">>,<<"name">>,<<"info">>]
Rows: [[1,<<"7stud">>,<<"abc">>],
[2,<<"Beth">>,<<"xxx">>],
[3,<<"Diane">>,<<"xyz">>],
[4,<<"Kathy">>,<<"xyz">>],
[5,<<"Kathy">>,<<"xyz">>],
[6,<<"Dave">>,<<"efg">>],
[7,<<"Tom">>,<<"zzz">>],
[8,<<"David">>,<<"abc">>],
[9,<<"Eloise">>,<<"abc">>],
[10,<<"Jess">>,<<"xyz">>],
[11,<<"Jeffsy">>,<<"2.0">>]]
ok

MySQL server windows Installation unexplained failure

I'm trying to install the MySQL server 5.6.35 and it gets about 80%-90% of the way through and then rolls back, without giving any sort of error. This is the bottom chunk of the logs:
1: Key: \Console\MySQL 5.6 Command Line Client - Unicode, Name: , Value:
1: Key: \Software\MySQL AB\MySQL Server 5.6, Name: installed, Value: #1
1: Action 10:04:17: ExecSecureObjects.
1: Action 10:04:17: Rollback. Rolling back action:
1: ExecSecureObjects
1: Writing system registry values
1: Creating shortcuts
1: Copying new files
1: Creating folders
1: Updating component registration
1: 1: MySQL Server 5.6 2: {99419C88-C5F8-479C-A5A4-CF59BA3A6D1D} 3: 3
1: The action 'Install' for product 'MySQL Server 5.6.35' failed.
I've tried this with the x86 and the x64 versions and get the same result. Any ideas?
Ok so I managed to get a version installed. I downloaded the 5.5.54 installer, which picked up that I needed a new VC++ distributable. After installing that it still didn't work with the x64 version, but the x86 version did work, which is enough for me I guess...

ISCC - /D compiler-parameter seems to have no effect

I'm trying to use the /D parameter of the Inno Setup Command Line Compiler to choose which files should be included in my setup.
The code looks like the following:
#define MyAppName "MyApp"
#define MyAppVersion "1.0.0"
(....)
#define PHASE
[Setup]
AppVersion={#MyAppVersion}
(....)
[Files]
Source: "C:\temp\myfile.txt"; DestDir: "{app}";
#if PHASE == "test"
Source: "C:\temp\onlyInTestBuildNeeded.txt"; DestDir: "{app}";
#endif
I try to compile the script ISCC /DPHASE=test "D:\foo\bar.iss" but it seems to have no effect on my PHASE define.
So can anyone explain me what I'm doing wrong? I can't find any more information at the Inno Setup Help.
You overwrite PHASE in the .iss file with the line
#define PHASE
Delete that line or check it with #ifdef in order to define it only when it is not set via command line /D switch:
#ifndef PHASE
#define PHASE
#endif

Puppet and Mysql 5.5

The Background
I am using Centos 6.5 with Puppet 3.7.3.
I've installed the module puppetlabs-mysql v3.1.0
Centos 6.5 comes with MySql 5.1.73 installed by default. What I'd like to achieve is to upgrade that version via Puppet to 5.5.40, using the module described above
The initial Solution
Well, I couldn't find a proper solution to do this. The official documentation only tells how to configure the puppet manifest in order to have MySql installed, not taking into account the version. That doesn't suit me because the version remains unchanged after running the puppet agent.
package { "MySQL-client": ensure => installed }
Solution #1 found on Internet Forums
Found here.
package {
'mysql-client-core-5.5': ensure => present
}
With that solution, I am getting the following error:
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list mysql-client-core-5.5'
returned 1: Error: No matching Packages to list
Solution #2 found on Internet Forums
Found here.
It is actually proposing two solutions:
package { 'mysql-server' : ensure => '5.5' , }
and
package { 'mysql55w' : ensure => 'present' , }
In both cases I am getting a similar error, which is no other than package not found on the current installed repos
In order to fix all the problems above, I successfully added the necessary changes on the puppet manifest to install the repo where MySQL 5.5.40 lives.
After repuppetting again, I am now getting a different error:
Error: mysql55w-libs conflicts with mysql-libs-5.1.73-3.el6_5.i686
Of course, the old libraries are conflicting with the new ones. Fortunately, there is a workaround for this, as described here. I successfully added those commands to my puppet manifest (using the EXEC command)
yum install mysql.`uname -i` yum-plugin-replace
yum replace mysql --replace-with mysql55w
After all these workarounds, my puppet manifest executes fine, but only after chaining each declaration to execute it sequentially (puppet doesn't assume order). Otherwise, it may try to install Mysql 5.5 before to install the repo or before to change the libraries.
The Question
Well, the question is, is there any other way to manage this more gracefully in puppet?
It wasn't enough to tell puppet that I wanted MySQL installed. I actually had to tell Puppet how to do it.
My Puppet manifest looks like the good old fashion scripts that Puppet is supposed to replace. I can't concentrate in what I want. I had to instruct it how to achieve it too
Even with configuration management package-providers can be a headache! :)
However, in this instance we can leverage the work by using a pre-existing module to manage Yum: example42/yum
Install the module like so:
puppet module install example42/yum
With this, it becomes much easier to manage, and you can install MySQL 5.5 much cleaner and idempotently:
class { 'yum':
defaultrepo => false,
extrarepo => '' ,
}
class { 'yum::repo::mysql_community':
enabled_version => '5.5',
}
package { 'mysql-community-server':
ensure => '5.5.42-2.el6',
require => Class['yum::repo::mysql_community'],
}
As you can see, the only ordering used is the require on the package, to make sure the Yum repo has been setup before trying to install it.
Worked for me on a brand new Centos 6.6 Vagrant box:
# Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "puppetlabs/centos-6.6-64-puppet"
config.vm.provision "shell", inline: "puppet module install example42/yum"
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "./"
puppet.manifest_file = "default.pp"
end
end
Output:
==> default: Running provisioner: shell...
default: Running: inline script
==> default: Notice: Preparing to install into /etc/puppet/modules ...
==> default: Notice: Downloading from https://forgeapi.puppetlabs.com ...
==> default: Notice: Installing -- do not interrupt ...
==> default: /etc/puppet/modules
==> default: └─┬ example42-yum (v2.1.17)
==> default: └── example42-puppi (v2.1.10)
==> default: Running provisioner: puppet...
==> default: Running Puppet with default.pp...
==> default: Notice: Compiled catalog for localhost.home in environment production in 0.85 seconds
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-connectors-community]/File[/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql]/ensure: defined content as '{md5}26b9ed77a3a087874a27103c1f9d6a6f'
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-tools-community]/File[/etc/yum.repos.d/mysql-tools-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql56-community]/File[/etc/yum.repos.d/mysql56-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql56-community]/Yumrepo[mysql56-community]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql57-community-dmr]/File[/etc/yum.repos.d/mysql57-community-dmr.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql57-community-dmr]/Yumrepo[mysql57-community-dmr]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-connectors-community]/File[/etc/yum.repos.d/mysql-connectors-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-connectors-community]/Yumrepo[mysql-connectors-community]/ensure: created
==> default: Notice: /Stage[main]/Yum::Prerequisites/Yum::Plugin[priorities]/Package[yum-plugin-priorities]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-tools-community]/Yumrepo[mysql-tools-community]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql55-community]/File[/etc/yum.repos.d/mysql55-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql55-community]/Yumrepo[mysql55-community]/ensure: created
==> default: Notice: /Stage[main]/Main/Node[default]/Package[mysql-community-server]/ensure: created
==> default: Notice: Finished catalog run in 63.97 seconds