SlideShare uma empresa Scribd logo
1 de 80
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 1
Install MariaDB on
IBM i - Tips,
troubleshooting,
and more
Rod Flohr, IBM i Support Specialist
ZendCon 2016 link
https://legacy.joind.in/19527
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 2
Who am I, and Why Should You Trust Me?
• My name is Rod Flohr, and I have been providing support for Zend
products on IBM i for the last decade.
• I have helped many customers troubleshoot their MySQL installation. My
hypertextual guide posted in my blog at rodflohr.com, is based on those
experiences.
• The ZendDBi installer for MariaDB is so new it has not even been
released yet. While we have no support experience with it, we anticipate
that it will be similar enough to MySQL that many of the same
procedures will apply.
• We will continue to improve this presentation as we gain support
experience with MariaDB.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 3
Install the Licensed Program
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 4
New for MariaDB – ZendDBi is now an LP
• The old ZendDBi installer for MySQL simply created the directories and
content, and did some setup, but there was no uninstall.
• The new ZendDBi installer installs a Licensed Program 1ZENDDB. This
makes management much easier, provides for a clean uninstall, and
should make it possible to update via PTF.
• Another difference is that ZendDBi has been decoupled from the Zend
Server distribution. The installer no longer starts up if ZendDBi is not
installed when the management menu is invoked.
• The 1ZENDDB Licensed Program will be available as a separate
download at zend.com.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 5
Download ZendDBi for IBM i
• This slide will be a lot more impressive in future presentations.
• I will grab a screen shot of the download page and put it in here just as
soon as it actually exists.
• For now, lets just move on…
• Click the download link and let the file download.
• Unzip the downloaded zip file to a folder on your desktop.
• The unzipped folder will contain a save file, and a user manual in both
text and PDF formats.
• Installation instructions can be found in the user manual.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 6
Contents of the unzipped install folder
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 7
Verify PTFs for 7.1 Only
You may verify that the required PTFs are installed using these
commands in a 5250 terminal session:
On V7R1:
* DSPPTF LICPGM(5770999) SELECT(MF99011)
* DSPPTF LICPGM(5770999) SELECT(MF59547)
* DSPPTF LICPGM(5770999) SELECT(MF51795)
In the menu that is displayed go to “General Information”:
PTF status should either be “temporarily/permanently applied or
superseded”.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 8
Create the save file first!
Create the installation SAVF file
1. Log on to the IBM i system 5250 terminal with a user profile of
*SECOFR user class with all the special authorities (such as QSECOFR).
2. CRTSAVF FILE(QGPL/ZDBISAVF10) TEXT('ZendDBi 10 product save file')
3. You should see one of these two messages (both are OK):
* File ZDBISAVF10 created in library QGPL.
* File ZDBISAVF10 in library QGPL already exists.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 9
CRTSAVF command
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 10
CRTSAVF Success message
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 11
FTP the SAVF – verify FTP is up
Upload the installation package to your system (FTP)
Transfer the package using FTP in binary mode to the SAVF ZDBISAVF10
in QGPL:
1. Verify that FTP is running on your IBM i system by running the
following command and look for 'FTP' or '21' in the Local Port column:
NETSTAT *CNN
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 12
Use netstat *cnn to verify FTP
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 13
Netstat unsorted display
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 14
Use F13 to sort the display
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 15
Netstat sorted by local port
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 16
Netstat after F14 to show port numbers
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 17
FTP the SAVF – set current directory
2. Open a command prompt and change the directory to the directory
that contains the files you extracted from the ZIP file.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 18
Copy the current directory
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 19
Type cd, a space, then paste
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 20
FTP the SAVF – FTP session
4. ftp IBM_i_system_name/TCP address
5. If requested, enter a valid user profile and password (with write
permissions to QGPL).
6. Switch to “binary” mode transfer (command may vary by client:
bin/binary/type i).
7. Transfer the save file to the IBM i system by running the following
command:
PUT zdbisavf10.savf QGPL/ZDBISAVF10
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 21
FTP the SAVF – FTP session
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 22
DSPSAVF to make sure it is a valid SAVF
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 23
RSTLICPGM to install Zend DBi
Run the installer
Return to your 5250 session and run the installer. You can either run the
silent installer or install interactively (recommended).
Interactive installation:
1. Run the command following command to launch the installer:
RSTLICPGM LICPGM(1ZENDDB) DEV(*SAVF) SAVF(QGPL/ZDBISAVF10)
2. Wait for the installer to extract temporary files (You’ll see an “X -
System” message):
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 24
Optional CHGJOB step
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 25
RSTLICPGM to install Zend DBi
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 26
RSTLICPGM – Welcome!
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 27
RSTLICPGM – EULA – Please read
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 28
MySQL was detected on port 3306
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 29
RSTLICPGM – Progress 20%
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 30
RSTLICPGM – Progress 80%
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 31
RSTLICPGM – Success!
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 32
RSTLICPGM – Thank you!
Should be:
GO ZMARIADB/ZDBMENU
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 33
Verify Success – go licpgm – option 10
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 34
Post install tasks
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 35
1a. Restrict public permissions for my.cnf
• If my.cnf has *RWX access granted to the public user, the configuration
directives in my.cnf will be ignored, and MariaDB will not be
configurable.
• This error will appear if MariaDB is started from the PASE command
line:
Warning: World-writable config file '/usr/local/mariadb/bin/my.cnf' is
ignored
• Fix this by running the following commands to exclude *PUBLIC and
give user MYSQL *RX premissions. The commands are on the next
slide.
• First CALL QCMD to get a multiline command prompt. Then you can
copy and paste the commands.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 36
1b. Restrict public permissions for my.cnf
Use these CL commands to fix the my.cnf permissions:
CHGAUT OBJ('/usr/local/mariadb/bin/my.cnf') USER(*PUBLIC)
DTAAUT(*EXCLUDE) OBJAUT(*NONE)
CHGAUT OBJ('/usr/local/mariadb/bin/my.cnf') USER(MYSQL) DTAAUT(*RX)
OBJAUT(*NONE)
CHGAUT OBJ('/usr/local/mariadb-10.1.12-os400-powerpc/bin/my.cnf')
USER(*PUBLIC) DTAAUT(*EXCLUDE) OBJAUT(*NONE)
CHGAUT OBJ('/usr/local/mariadb-10.1.12-os400-powerpc/bin/my.cnf')
USER(MYSQL) DTAAUT(*RX) OBJAUT(*NONE)
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 37
2a. Start the MariaDB server and verify it is running
• From a command line, as a *SECOFR class user:
GO ZMARIADB/ZDBMENU
• Please use option “1. Start Subsystem”.
• Then use option “3. Work with Subsystem”.
• Start up might take a couple of minutes, so you might have to hit F5
every minute or so, until the subsystem appears to have only these two
jobs:
ZENDDBID MYSQL BCI .0 PGM-sh THDW
ZENDDBID MYSQL BCI .0 PGM-mysqld SELW
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 38
2b. Start the MariaDB server and verify it is running
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 39
If the jobs are not running…
• If the expected jobs are not running, it is time to do some
troubleshooting. Skip down to the troubleshooting section.
• Come back here and continue with the Post Install Tasks after the jobs
are working.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 40
3a. Set the MariaDB root user password
• This step needs to be done in a PASE shell. I had trouble running the mysql
command in the PASE shell accessible from the CL command line using the
QP2TERM command. So I used an ssh terminal to do this demo.
• I later learned we can use the mysql command in QP2TERM by entering
this line first:
export TERM=xterm
• I like to use a free program called ExtraPuTTY to run my ssh terminal. It is
simple to use, and works very well. It is also priced right.
http://www.extraputty.com/download.php
• As with any free software download, be cautious about additional software
that may be “included”, and be sure to scan for viruses.
• Use netstat *cnn to see if SSH is running. It uses port 22. If it is not started:
STRTCPSVR *SSHD
• To connect with ExtraPuTTY, enter your IBM i IP address, port 22, and
Connection type SSH. You shouldn’t need to mess with anything else.
• When you connect, you will be prompted for a user (login as) and
password. You will then see a dollar sign prompt. You are ready to start
entering commands
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 41
3b. Set the MariaDB root user password
• In the ssh terminal session, enter this command to set your directory:
cd /usr/local/mariadb/bin
• You can copy the command and then paste into PuTTY by just copying
it and then positioning the mouse cursor in PuTTY and right clicking.
You can also copy out of PuTTY by just highlighting the text to copy
(position cursor, hold down left mouse button, drag over text to copy,
release mouse button to copy highlighted text to clipboard).
• Enter this command to set the root password to bobbysox:
mysqladmin -u root password 'bobbysox‘
• Now you have to add the –p argument to specify a password to use the
mysqladmin command. This is because user root is now password
protected. Lets change the password to belladonna:
mysqladmin -u root -pbobbysox password 'belladonna‘
• There is no space between the “-p” option and the value “bobbysox”
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 42
3c. Set the MariaDB root user password
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 43
3d. Set the MariaDB root user password
• The root password should now be “belladonna”. Lets see if we can use it to get into a MariaDB
session, using the mysql command:
mysql -u root –pbelladonna
• You should see something like this:
$ mysql -u root -pbelladonna
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 11
Server version: 10.1.12-MariaDB-debug Source distribution
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
readline: warning: turning on OPOST for terminal
readline: warning: turning on OPOST for terminal
MariaDB [(none)]>
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 44
3e. Set the MariaDB root user password
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 45
3f. Set the MariaDB root user password
• Now we are inside the MariaDB terminal session. Notice the prompt:
MariaDB [(none)]>
• Commands in the MariaDB terminal are SQL commands. They must
end with a semicolon, just like DB2 commands entered in the SQL
utility in Navigator.
• Lets run this command to see the users and passwords:
SELECT User, Host, Password FROM mysql.user;
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 46
3g. Set the MariaDB root user password
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 47
3h. Set the MariaDB root user password
• We see that user root has been assigned to four hosts (IP addresses)
detected by the MariaDB setup. Only one host, localhost, has a
password. It is encrypted, but it is “belladonna”. Lets enter these
commands to set the password for the other hosts:
SET PASSWORD FOR 'root'@'i72sup1.cvo.roguewave.com' = PASSWORD('belladonna');
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('belladonna');
SET PASSWORD FOR 'root'@'::1' = PASSWORD('belladonna');
• After each command, this message appears:
Query OK, 0 rows affected (0.00 sec)
• I had some trouble copying these out of Powerpoint into the PASE
shell, because Powerpoint changed some of the quotes to tilted
quotes. ¯_(ツ)_/¯
• Lets run our query again:
SELECT User, Host, Password FROM mysql.user;
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 48
3i. Set the MariaDB root user password
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 49
3j. Set the MariaDB root user password
• Now all four hosts have the same password for user ‘root’.
• All of these host addresses reference the local server.
• To connect to MariaDB from PHP, as user root, you need to know the IP
address, the port, the user, and the password.
• You will use these values in set up routines for PHP applications that
access MariaDB.
• You will also use them in programs like Studio that can browse and
work with your data.
• Remember, we used port 3307 for MariaDB, because 3306 was already
being used by the old MySQL server.
• To get out of the MariaDB terminal and back to the shell, use the exit
command. No semicolon is required.
• To end the ssh session, type exit again.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 50
3k. QP2TERM to show export TERM=xterm
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 51
4. Install the IBMDB2i storage engine for MariaDB
• For MySQL we needed to run a simple command to add the IBMDB2i
storage engine to MySQL.
• It is not yet determined if we will need to do the same for MariaDB. It
might be distributed as a PTF update since we now have a Licensed
Program for MariaDB.
• The IBMDB2i storage engine allows data to be created and
manipulated using MySQL commands in the MySQL server, while
storing the physical data in DB2 on the IBM i.
• For the sake of curiosity, the old command was run in a MySQL
terminal session:
install plugin ibmdb2i soname "ha_ibmdb2i.so";
• Then it could be seen in the list of engines:
SHOW ENGINES;
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 52
5a. Deploy phpMyAdmin using Zend Deployment
• After all the fun we had setting the root passwords from the command
line in the MariaDB terminal, you may be wondering who would want
to spoil it by setting up a GUI. If so, phpMyAdmin may not be for you.
• On the other hand, if you are one of those people who likes things to
be convenient and comprehensible, we have you covered.
• The “Getting Started” page in Zend Server offers several very powerful,
incredibly useful applications you can Deploy, including Magento,
Drupal, WordPress, and Joomla. These all use MySQL/MariaDB for data
storage.
• If you plan to do anything at all with MariaDB or MySQL, the first of
these you will want to Deploy is phpMyAdmin, so you can manage your
data.
• So let’s get started!
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 53
5b. Deploy phpMyAdmin using Zend Deployment
• We have already covered the prerequisites:
Install MariaDB and make sure it is running correctly
Set a password for the root user
• Something else I like to do is to set the default IP address for
applications. This makes the generated URL for Deployed applications
look much nicer. Or a little nicer, anyway.
• To do it, go to the Zend Server UI and navigate to:
Administration -> Settings -> UI
• Copy your IBM i IP address out of the browser address into the Default
Server field.
• Click the Save button. After a moment a confirmation appears.
• No need to restart!
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 54
5c. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 55
5d. Deploy phpMyAdmin using Zend Deployment
• Now, go to the Getting Started page in the UI and find the
phpMyAdmin icon under the “Deploy Sample Apps” heading.
• Click it, and begin filling in the prompts.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 56
5e. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 57
5f. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 58
5g. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 59
5h. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 60
5i. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 61
5j. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 62
5k. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 63
5l. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 64
5m. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 65
5n. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 66
5o. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 67
5p. Deploy phpMyAdmin using Zend Deployment
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 68
6a. Automatically start MariaDB at start up
• This is another big improvement over the old MySQL distribution.
• We used to have you make an autostart entry from scratch.
• With the new ZendDBi with MariaDB, there are now a couple of menu
options that let you set this behavior.
• Go to the menu: GO ZMARIADB/ZDBMENU
• If you want MariaDB to start automatically at IPL, use option 21:
21. Start ZendDBi subsystem at IPL
• If you don’t want it to start automatically at IPL, use option 22:
22. Not to Start ZendDBi subsystem at IPL
• Option 21 adds Autostart Job Entry ZDBISTRSBS to subsystem
QSYSWRK. Option 22 removes the entry.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 69
6b. Automatically start MariaDB at start up
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 70
And now, we really are done. Unless…
• If you are this far without any problems, you really have done it! You
have installed MariaDB, and you are ready to begin using it.
• Now we can talk about some of the problems we might see.
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 71
Troubleshooting
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 72
Misunderstanding mysql.sock (mariadb.sock)
• When the ZENDDBID jobs won’t start, the customer will often notice a
message worded something like this:
“Object not found. Object is /tmp/mysql.sock.”
• The report is usually along the lines of: “This mysql.sock file is missing, and
that’s why it won’t start. Why is this file missing? Did the installer fail
somehow? Can you send me this file?”
• This is all exactly backwards. mysql.sock is a socket file. It only exists when
the mysqld daemon is running. If the file does not exist, all that tells us is
that the daemon is not running.
• On the other hand, if the socket does exist, but the daemon is not active,
then the daemon probably ended abnormally in some way that prevented
it from removing the socket on the way down. The abandoned socket can
prevent the next start up.
• By the way, the name of the socket file has changed to mariadb.sock:
/usr/local/mariadbdata/mariadb.sock
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 73
So if it isn’t mariadb.sock…
• ZendDBi is a little weird. Getting the messages and interpreting them
turns out to be a little tricky compared to just looking at the most
common problems.
• Normally, I do the basic research first to get pointed in the right
direction. But for MySQL start up problems, I do it backwards. There
are just a few things to check, and it is so often true that one of them is
the cause, it just seems like the most efficient method.
• The common problems we will discuss are MySQL problems we have
encountered. MariaDB is too new to have revealed any common
problems. But we can look for any of these, and if there is anything
new we need to know about MariaDB, we will learn about it in due
time, probably at the cost of some sadness.
• So, let’s start…
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 74
1. QGPL in system library list
• To check this, it is just:
dspsysval qsyslibl
• If QGPL is not there, this is probably not your problem.
• This problem might also cause a message like this:
CPF1338 received by procedure ZENDDBID. (C D I R)
• If this does turn out to be the problem, our solution in the past has
been to make a new start up CL that gets rid of QGPL from the SYSLIBL
for the job, then calls the old startup program, that has been renamed.
We can probably do something similar for MariaDB. I just haven’t yet,
and probably won’t until someone reports this as a MariaDB issue.
http://rodflohr.com/qgpl-in-system-library-list-prevents-zenddbi-mysql-daemon-from-starting/
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 75
2. Port conflict
• For the old MySQL, we used to think of this more along the lines of port
3306 in use. Now the new installer resolves port 3306 conflicts on the
fly, so we expect this will not be so much of a port 3306 issue as just
whatever port gets assigned. But a conflict is always a possibility, and
most of the procedures still apply.
• You can still use the information on this issue at my blog site, but you
just need to be mindful that instead of port 3306, you may already to
be configured to use some other port, and that should be the port you
research for a conflict.
• It is also possible you are configured for port 3306, but there is some
process not always on, that uses that port, and could block you from
starting up on occasion.
http://rodflohr.com/port-3306-in-use-prevents-zenddbi-mysql-daemon-from-starting/
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 76
3. Missing job description
• This is an old problem I haven’t seen for a while. Hopefully it was a
distribution error that has since been fixed, but I could never track it
down. Everybody installed the same package, but only a few did not
have this JOBD. It was kind of baffling.
• Anyway, it was easy to check and easy to fix. Try to display the object
description. If it’s missing, create it. It is still worth checking, because it
only takes a few seconds, and the JOBD can be accidentally deleted.
• The JOBD name is still the same, only the library name has changed:
DSPOBJD OBJ(ZMARIADB/ZMYSQLJBDA) OBJTYPE(*JOBD)
• It appears to be identical to the old JOBD, except all references to
ZMYSQL have been replaced by ZMARIADB.
http://rodflohr.com/missing-job-description-zmysqljbda-prevents-zenddbi-mysql-daemon-from-starting/
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 77
4. Hey, maybe it is something with mariadb.sock
• Just because the mysql.sock message does not tell you that there is a
problem with mysql.sock, doesn’t mean it is telling you that there is not a
problem with mysql.sock.
• It is possible the daemon cannot create the socket at start up. This would
typically be some permissions issue. Maybe someone revoked the
authority to write to that directory from the user MYSQL.
• It is also possible that a mysql.sock file already exists. This could be
because another mysqld daemon is running. Or, maybe a prior mysqld
daemon crashed and could not properly remove the socket.
• Remember, for MariaDB the file is mariadb.sock:
/usr/local/mariadbdata/mariadb.sock
http://rodflohr.com/some-problem-with-mysql-sock-prevents-zenddbi-mysql-daemon-from-starting/
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 78
5. Start MariaDB in PASE to review errors
• If MariaDB won’t start, and none of the common problems account for
it, you can try starting it in an interactive PASE terminal, where you can
more easily see the messages that occur at that level.
• Remember, the name of the daemon program is still mysqld, but it
runs out of the mariadb folder structure, rather then the mysql folder
structure.
• This is the full command to run with all the options:
/usr/local/mariadb/bin/mysqld --defaults-file=/usr/local/mariadb/bin/my.cnf --basedir=/usr/local/mariadb --
datadir=/usr/local/mariadbdata --plugin-dir=/usr/local/mariadb/lib/plugin --user=MYSQL --tmpdir=/tmp --log-
error=/usr/local/mariadbdata/I72SUP1.cvo.roguewave.com.err --pid-file=/usr/local/mariadbdata/zmariadb.pid --
socket=/usr/local/mariadbdata/mariadb.sock --port=3307
http://rodflohr.com/start-zenddbi-mysql-daemon-in-pase-to-review-start-up-errors/
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 79
6. Maximize job logging for the start up job
• One final trick is to maximize the job logging in the IBM i job that
controls the start up. This job does not really do much, but it is worth a
look. This is especially true if you can launch the mysqld daemon from
an interactive PASE terminal, but not from starting up the subsystem.
• The jobq name is the same as for the old MySQL based product, but
remember the library name is now ZMARIADB.
http://rodflohr.com/maximize-job-logging-for-the-zenddbi-mysql-daemon-start-up-job/
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 80
Thank you!
ZendCon 2016 link
https://legacy.joind.in/19527

Mais conteúdo relacionado

Mais procurados

IBM i: Fertile Ground for PHP Developers
IBM i: Fertile Ground for PHP DevelopersIBM i: Fertile Ground for PHP Developers
IBM i: Fertile Ground for PHP DevelopersAlan Seiden
 
Create a welcoming development environment on IBM i
Create a welcoming development environment on IBM iCreate a welcoming development environment on IBM i
Create a welcoming development environment on IBM iAlan Seiden
 
Performance tuning with zend framework
Performance tuning with zend frameworkPerformance tuning with zend framework
Performance tuning with zend frameworkAlan Seiden
 
Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i  Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i Zend by Rogue Wave Software
 
PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's NewZendCon
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi Shlomo Vanunu
 
Zend Core on IBM i - Security Considerations
Zend Core on IBM i - Security ConsiderationsZend Core on IBM i - Security Considerations
Zend Core on IBM i - Security ConsiderationsZendCon
 
PHP on IBM i Tutorial
PHP on IBM i TutorialPHP on IBM i Tutorial
PHP on IBM i TutorialZendCon
 
What's new with Zend server
What's new with Zend serverWhat's new with Zend server
What's new with Zend serverCOMMON Europe
 
Zend_Tool: Practical use and Extending
Zend_Tool: Practical use and ExtendingZend_Tool: Practical use and Extending
Zend_Tool: Practical use and ExtendingZendCon
 
Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51Mark Ginnebaugh
 
Dutch php conference_2010_opm
Dutch php conference_2010_opmDutch php conference_2010_opm
Dutch php conference_2010_opmisnull
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...Symphony Software Foundation
 
eZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmapeZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmapRoland Benedetti
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovskyphp-user-group-minsk
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platformLuis Cabaceira
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriensmfrancis
 
Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Carsten Ziegeler
 

Mais procurados (20)

IBM i: Fertile Ground for PHP Developers
IBM i: Fertile Ground for PHP DevelopersIBM i: Fertile Ground for PHP Developers
IBM i: Fertile Ground for PHP Developers
 
Create a welcoming development environment on IBM i
Create a welcoming development environment on IBM iCreate a welcoming development environment on IBM i
Create a welcoming development environment on IBM i
 
Performance tuning with zend framework
Performance tuning with zend frameworkPerformance tuning with zend framework
Performance tuning with zend framework
 
Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i  Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i
 
PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's New
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
 
Zend Core on IBM i - Security Considerations
Zend Core on IBM i - Security ConsiderationsZend Core on IBM i - Security Considerations
Zend Core on IBM i - Security Considerations
 
PHP on IBM i Tutorial
PHP on IBM i TutorialPHP on IBM i Tutorial
PHP on IBM i Tutorial
 
What's new with Zend server
What's new with Zend serverWhat's new with Zend server
What's new with Zend server
 
Zend_Tool: Practical use and Extending
Zend_Tool: Practical use and ExtendingZend_Tool: Practical use and Extending
Zend_Tool: Practical use and Extending
 
Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51
 
Dutch php conference_2010_opm
Dutch php conference_2010_opmDutch php conference_2010_opm
Dutch php conference_2010_opm
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
 
eZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmapeZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmap
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
 
slide to delete
slide to deleteslide to delete
slide to delete
 
Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)
 

Semelhante a Install MariaDB on IBM i

Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleChanaka Lasantha
 
SHARE.ORG Orlando 2015
SHARE.ORG Orlando 2015SHARE.ORG Orlando 2015
SHARE.ORG Orlando 2015Filipe Miranda
 
Open mic on sametime 9 installs best practices, tips and tricks
Open mic on sametime 9 installs best practices, tips and tricksOpen mic on sametime 9 installs best practices, tips and tricks
Open mic on sametime 9 installs best practices, tips and tricksa8us
 
Open Mic on Sametime9 Install -Best Practices
Open Mic on Sametime9 Install  -Best PracticesOpen Mic on Sametime9 Install  -Best Practices
Open Mic on Sametime9 Install -Best PracticesVinayak Tavargeri
 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Chris Tankersley
 
Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015Chris Tankersley
 
Prizm Installation Guide
Prizm Installation GuidePrizm Installation Guide
Prizm Installation Guidevjvarenya
 
Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7a_ratra
 
Mpeg guide
Mpeg  guideMpeg  guide
Mpeg guidekimsach
 
Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Chris Tankersley
 
Lamp Server With Drupal Installation
Lamp Server With Drupal InstallationLamp Server With Drupal Installation
Lamp Server With Drupal Installationfranbow
 
Dating Pro Installation Instructions
Dating Pro Installation InstructionsDating Pro Installation Instructions
Dating Pro Installation InstructionsPilot Group Ltd
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PIKrishna Kumar
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_nye
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库maclean liu
 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorialDru Lavigne
 
Setting Up a Cloud Server - Part 1 - Transcript.pdf
Setting Up a Cloud Server - Part 1 - Transcript.pdfSetting Up a Cloud Server - Part 1 - Transcript.pdf
Setting Up a Cloud Server - Part 1 - Transcript.pdfShaiAlmog1
 
Simplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudSimplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudLiz Warner
 

Semelhante a Install MariaDB on IBM i (20)

Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmaple
 
SHARE.ORG Orlando 2015
SHARE.ORG Orlando 2015SHARE.ORG Orlando 2015
SHARE.ORG Orlando 2015
 
Open mic on sametime 9 installs best practices, tips and tricks
Open mic on sametime 9 installs best practices, tips and tricksOpen mic on sametime 9 installs best practices, tips and tricks
Open mic on sametime 9 installs best practices, tips and tricks
 
Open Mic on Sametime9 Install -Best Practices
Open Mic on Sametime9 Install  -Best PracticesOpen Mic on Sametime9 Install  -Best Practices
Open Mic on Sametime9 Install -Best Practices
 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
 
Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015
 
Prizm Installation Guide
Prizm Installation GuidePrizm Installation Guide
Prizm Installation Guide
 
Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7
 
Mpeg guide
Mpeg  guideMpeg  guide
Mpeg guide
 
Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015
 
Lamp Server With Drupal Installation
Lamp Server With Drupal InstallationLamp Server With Drupal Installation
Lamp Server With Drupal Installation
 
Dating Pro Installation Instructions
Dating Pro Installation InstructionsDating Pro Installation Instructions
Dating Pro Installation Instructions
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PI
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
 
Setting Up a Cloud Server - Part 1 - Transcript.pdf
Setting Up a Cloud Server - Part 1 - Transcript.pdfSetting Up a Cloud Server - Part 1 - Transcript.pdf
Setting Up a Cloud Server - Part 1 - Transcript.pdf
 
Its3 Drupal
Its3 DrupalIts3 Drupal
Its3 Drupal
 
Its3 Drupal
Its3 DrupalIts3 Drupal
Its3 Drupal
 
Simplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudSimplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual Cloud
 

Último

Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistKHM Anwar
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 

Último (20)

Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization Specialist
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 

Install MariaDB on IBM i

  • 1. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 1 Install MariaDB on IBM i - Tips, troubleshooting, and more Rod Flohr, IBM i Support Specialist ZendCon 2016 link https://legacy.joind.in/19527
  • 2. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 2 Who am I, and Why Should You Trust Me? • My name is Rod Flohr, and I have been providing support for Zend products on IBM i for the last decade. • I have helped many customers troubleshoot their MySQL installation. My hypertextual guide posted in my blog at rodflohr.com, is based on those experiences. • The ZendDBi installer for MariaDB is so new it has not even been released yet. While we have no support experience with it, we anticipate that it will be similar enough to MySQL that many of the same procedures will apply. • We will continue to improve this presentation as we gain support experience with MariaDB.
  • 3. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 3 Install the Licensed Program
  • 4. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 4 New for MariaDB – ZendDBi is now an LP • The old ZendDBi installer for MySQL simply created the directories and content, and did some setup, but there was no uninstall. • The new ZendDBi installer installs a Licensed Program 1ZENDDB. This makes management much easier, provides for a clean uninstall, and should make it possible to update via PTF. • Another difference is that ZendDBi has been decoupled from the Zend Server distribution. The installer no longer starts up if ZendDBi is not installed when the management menu is invoked. • The 1ZENDDB Licensed Program will be available as a separate download at zend.com.
  • 5. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 5 Download ZendDBi for IBM i • This slide will be a lot more impressive in future presentations. • I will grab a screen shot of the download page and put it in here just as soon as it actually exists. • For now, lets just move on… • Click the download link and let the file download. • Unzip the downloaded zip file to a folder on your desktop. • The unzipped folder will contain a save file, and a user manual in both text and PDF formats. • Installation instructions can be found in the user manual.
  • 6. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 6 Contents of the unzipped install folder
  • 7. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 7 Verify PTFs for 7.1 Only You may verify that the required PTFs are installed using these commands in a 5250 terminal session: On V7R1: * DSPPTF LICPGM(5770999) SELECT(MF99011) * DSPPTF LICPGM(5770999) SELECT(MF59547) * DSPPTF LICPGM(5770999) SELECT(MF51795) In the menu that is displayed go to “General Information”: PTF status should either be “temporarily/permanently applied or superseded”.
  • 8. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 8 Create the save file first! Create the installation SAVF file 1. Log on to the IBM i system 5250 terminal with a user profile of *SECOFR user class with all the special authorities (such as QSECOFR). 2. CRTSAVF FILE(QGPL/ZDBISAVF10) TEXT('ZendDBi 10 product save file') 3. You should see one of these two messages (both are OK): * File ZDBISAVF10 created in library QGPL. * File ZDBISAVF10 in library QGPL already exists.
  • 9. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 9 CRTSAVF command
  • 10. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 10 CRTSAVF Success message
  • 11. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 11 FTP the SAVF – verify FTP is up Upload the installation package to your system (FTP) Transfer the package using FTP in binary mode to the SAVF ZDBISAVF10 in QGPL: 1. Verify that FTP is running on your IBM i system by running the following command and look for 'FTP' or '21' in the Local Port column: NETSTAT *CNN
  • 12. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 12 Use netstat *cnn to verify FTP
  • 13. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 13 Netstat unsorted display
  • 14. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 14 Use F13 to sort the display
  • 15. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 15 Netstat sorted by local port
  • 16. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 16 Netstat after F14 to show port numbers
  • 17. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 17 FTP the SAVF – set current directory 2. Open a command prompt and change the directory to the directory that contains the files you extracted from the ZIP file.
  • 18. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 18 Copy the current directory
  • 19. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 19 Type cd, a space, then paste
  • 20. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 20 FTP the SAVF – FTP session 4. ftp IBM_i_system_name/TCP address 5. If requested, enter a valid user profile and password (with write permissions to QGPL). 6. Switch to “binary” mode transfer (command may vary by client: bin/binary/type i). 7. Transfer the save file to the IBM i system by running the following command: PUT zdbisavf10.savf QGPL/ZDBISAVF10
  • 21. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 21 FTP the SAVF – FTP session
  • 22. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 22 DSPSAVF to make sure it is a valid SAVF
  • 23. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 23 RSTLICPGM to install Zend DBi Run the installer Return to your 5250 session and run the installer. You can either run the silent installer or install interactively (recommended). Interactive installation: 1. Run the command following command to launch the installer: RSTLICPGM LICPGM(1ZENDDB) DEV(*SAVF) SAVF(QGPL/ZDBISAVF10) 2. Wait for the installer to extract temporary files (You’ll see an “X - System” message):
  • 24. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 24 Optional CHGJOB step
  • 25. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 25 RSTLICPGM to install Zend DBi
  • 26. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 26 RSTLICPGM – Welcome!
  • 27. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 27 RSTLICPGM – EULA – Please read
  • 28. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 28 MySQL was detected on port 3306
  • 29. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 29 RSTLICPGM – Progress 20%
  • 30. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 30 RSTLICPGM – Progress 80%
  • 31. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 31 RSTLICPGM – Success!
  • 32. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 32 RSTLICPGM – Thank you! Should be: GO ZMARIADB/ZDBMENU
  • 33. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 33 Verify Success – go licpgm – option 10
  • 34. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 34 Post install tasks
  • 35. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 35 1a. Restrict public permissions for my.cnf • If my.cnf has *RWX access granted to the public user, the configuration directives in my.cnf will be ignored, and MariaDB will not be configurable. • This error will appear if MariaDB is started from the PASE command line: Warning: World-writable config file '/usr/local/mariadb/bin/my.cnf' is ignored • Fix this by running the following commands to exclude *PUBLIC and give user MYSQL *RX premissions. The commands are on the next slide. • First CALL QCMD to get a multiline command prompt. Then you can copy and paste the commands.
  • 36. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 36 1b. Restrict public permissions for my.cnf Use these CL commands to fix the my.cnf permissions: CHGAUT OBJ('/usr/local/mariadb/bin/my.cnf') USER(*PUBLIC) DTAAUT(*EXCLUDE) OBJAUT(*NONE) CHGAUT OBJ('/usr/local/mariadb/bin/my.cnf') USER(MYSQL) DTAAUT(*RX) OBJAUT(*NONE) CHGAUT OBJ('/usr/local/mariadb-10.1.12-os400-powerpc/bin/my.cnf') USER(*PUBLIC) DTAAUT(*EXCLUDE) OBJAUT(*NONE) CHGAUT OBJ('/usr/local/mariadb-10.1.12-os400-powerpc/bin/my.cnf') USER(MYSQL) DTAAUT(*RX) OBJAUT(*NONE)
  • 37. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 37 2a. Start the MariaDB server and verify it is running • From a command line, as a *SECOFR class user: GO ZMARIADB/ZDBMENU • Please use option “1. Start Subsystem”. • Then use option “3. Work with Subsystem”. • Start up might take a couple of minutes, so you might have to hit F5 every minute or so, until the subsystem appears to have only these two jobs: ZENDDBID MYSQL BCI .0 PGM-sh THDW ZENDDBID MYSQL BCI .0 PGM-mysqld SELW
  • 38. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 38 2b. Start the MariaDB server and verify it is running
  • 39. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 39 If the jobs are not running… • If the expected jobs are not running, it is time to do some troubleshooting. Skip down to the troubleshooting section. • Come back here and continue with the Post Install Tasks after the jobs are working.
  • 40. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 40 3a. Set the MariaDB root user password • This step needs to be done in a PASE shell. I had trouble running the mysql command in the PASE shell accessible from the CL command line using the QP2TERM command. So I used an ssh terminal to do this demo. • I later learned we can use the mysql command in QP2TERM by entering this line first: export TERM=xterm • I like to use a free program called ExtraPuTTY to run my ssh terminal. It is simple to use, and works very well. It is also priced right. http://www.extraputty.com/download.php • As with any free software download, be cautious about additional software that may be “included”, and be sure to scan for viruses. • Use netstat *cnn to see if SSH is running. It uses port 22. If it is not started: STRTCPSVR *SSHD • To connect with ExtraPuTTY, enter your IBM i IP address, port 22, and Connection type SSH. You shouldn’t need to mess with anything else. • When you connect, you will be prompted for a user (login as) and password. You will then see a dollar sign prompt. You are ready to start entering commands
  • 41. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 41 3b. Set the MariaDB root user password • In the ssh terminal session, enter this command to set your directory: cd /usr/local/mariadb/bin • You can copy the command and then paste into PuTTY by just copying it and then positioning the mouse cursor in PuTTY and right clicking. You can also copy out of PuTTY by just highlighting the text to copy (position cursor, hold down left mouse button, drag over text to copy, release mouse button to copy highlighted text to clipboard). • Enter this command to set the root password to bobbysox: mysqladmin -u root password 'bobbysox‘ • Now you have to add the –p argument to specify a password to use the mysqladmin command. This is because user root is now password protected. Lets change the password to belladonna: mysqladmin -u root -pbobbysox password 'belladonna‘ • There is no space between the “-p” option and the value “bobbysox”
  • 42. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 42 3c. Set the MariaDB root user password
  • 43. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 43 3d. Set the MariaDB root user password • The root password should now be “belladonna”. Lets see if we can use it to get into a MariaDB session, using the mysql command: mysql -u root –pbelladonna • You should see something like this: $ mysql -u root -pbelladonna Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 11 Server version: 10.1.12-MariaDB-debug Source distribution Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. readline: warning: turning on OPOST for terminal readline: warning: turning on OPOST for terminal MariaDB [(none)]>
  • 44. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 44 3e. Set the MariaDB root user password
  • 45. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 45 3f. Set the MariaDB root user password • Now we are inside the MariaDB terminal session. Notice the prompt: MariaDB [(none)]> • Commands in the MariaDB terminal are SQL commands. They must end with a semicolon, just like DB2 commands entered in the SQL utility in Navigator. • Lets run this command to see the users and passwords: SELECT User, Host, Password FROM mysql.user;
  • 46. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 46 3g. Set the MariaDB root user password
  • 47. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 47 3h. Set the MariaDB root user password • We see that user root has been assigned to four hosts (IP addresses) detected by the MariaDB setup. Only one host, localhost, has a password. It is encrypted, but it is “belladonna”. Lets enter these commands to set the password for the other hosts: SET PASSWORD FOR 'root'@'i72sup1.cvo.roguewave.com' = PASSWORD('belladonna'); SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('belladonna'); SET PASSWORD FOR 'root'@'::1' = PASSWORD('belladonna'); • After each command, this message appears: Query OK, 0 rows affected (0.00 sec) • I had some trouble copying these out of Powerpoint into the PASE shell, because Powerpoint changed some of the quotes to tilted quotes. ¯_(ツ)_/¯ • Lets run our query again: SELECT User, Host, Password FROM mysql.user;
  • 48. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 48 3i. Set the MariaDB root user password
  • 49. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 49 3j. Set the MariaDB root user password • Now all four hosts have the same password for user ‘root’. • All of these host addresses reference the local server. • To connect to MariaDB from PHP, as user root, you need to know the IP address, the port, the user, and the password. • You will use these values in set up routines for PHP applications that access MariaDB. • You will also use them in programs like Studio that can browse and work with your data. • Remember, we used port 3307 for MariaDB, because 3306 was already being used by the old MySQL server. • To get out of the MariaDB terminal and back to the shell, use the exit command. No semicolon is required. • To end the ssh session, type exit again.
  • 50. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 50 3k. QP2TERM to show export TERM=xterm
  • 51. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 51 4. Install the IBMDB2i storage engine for MariaDB • For MySQL we needed to run a simple command to add the IBMDB2i storage engine to MySQL. • It is not yet determined if we will need to do the same for MariaDB. It might be distributed as a PTF update since we now have a Licensed Program for MariaDB. • The IBMDB2i storage engine allows data to be created and manipulated using MySQL commands in the MySQL server, while storing the physical data in DB2 on the IBM i. • For the sake of curiosity, the old command was run in a MySQL terminal session: install plugin ibmdb2i soname "ha_ibmdb2i.so"; • Then it could be seen in the list of engines: SHOW ENGINES;
  • 52. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 52 5a. Deploy phpMyAdmin using Zend Deployment • After all the fun we had setting the root passwords from the command line in the MariaDB terminal, you may be wondering who would want to spoil it by setting up a GUI. If so, phpMyAdmin may not be for you. • On the other hand, if you are one of those people who likes things to be convenient and comprehensible, we have you covered. • The “Getting Started” page in Zend Server offers several very powerful, incredibly useful applications you can Deploy, including Magento, Drupal, WordPress, and Joomla. These all use MySQL/MariaDB for data storage. • If you plan to do anything at all with MariaDB or MySQL, the first of these you will want to Deploy is phpMyAdmin, so you can manage your data. • So let’s get started!
  • 53. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 53 5b. Deploy phpMyAdmin using Zend Deployment • We have already covered the prerequisites: Install MariaDB and make sure it is running correctly Set a password for the root user • Something else I like to do is to set the default IP address for applications. This makes the generated URL for Deployed applications look much nicer. Or a little nicer, anyway. • To do it, go to the Zend Server UI and navigate to: Administration -> Settings -> UI • Copy your IBM i IP address out of the browser address into the Default Server field. • Click the Save button. After a moment a confirmation appears. • No need to restart!
  • 54. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 54 5c. Deploy phpMyAdmin using Zend Deployment
  • 55. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 55 5d. Deploy phpMyAdmin using Zend Deployment • Now, go to the Getting Started page in the UI and find the phpMyAdmin icon under the “Deploy Sample Apps” heading. • Click it, and begin filling in the prompts.
  • 56. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 56 5e. Deploy phpMyAdmin using Zend Deployment
  • 57. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 57 5f. Deploy phpMyAdmin using Zend Deployment
  • 58. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 58 5g. Deploy phpMyAdmin using Zend Deployment
  • 59. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 59 5h. Deploy phpMyAdmin using Zend Deployment
  • 60. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 60 5i. Deploy phpMyAdmin using Zend Deployment
  • 61. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 61 5j. Deploy phpMyAdmin using Zend Deployment
  • 62. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 62 5k. Deploy phpMyAdmin using Zend Deployment
  • 63. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 63 5l. Deploy phpMyAdmin using Zend Deployment
  • 64. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 64 5m. Deploy phpMyAdmin using Zend Deployment
  • 65. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 65 5n. Deploy phpMyAdmin using Zend Deployment
  • 66. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 66 5o. Deploy phpMyAdmin using Zend Deployment
  • 67. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 67 5p. Deploy phpMyAdmin using Zend Deployment
  • 68. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 68 6a. Automatically start MariaDB at start up • This is another big improvement over the old MySQL distribution. • We used to have you make an autostart entry from scratch. • With the new ZendDBi with MariaDB, there are now a couple of menu options that let you set this behavior. • Go to the menu: GO ZMARIADB/ZDBMENU • If you want MariaDB to start automatically at IPL, use option 21: 21. Start ZendDBi subsystem at IPL • If you don’t want it to start automatically at IPL, use option 22: 22. Not to Start ZendDBi subsystem at IPL • Option 21 adds Autostart Job Entry ZDBISTRSBS to subsystem QSYSWRK. Option 22 removes the entry.
  • 69. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 69 6b. Automatically start MariaDB at start up
  • 70. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 70 And now, we really are done. Unless… • If you are this far without any problems, you really have done it! You have installed MariaDB, and you are ready to begin using it. • Now we can talk about some of the problems we might see.
  • 71. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 71 Troubleshooting
  • 72. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 72 Misunderstanding mysql.sock (mariadb.sock) • When the ZENDDBID jobs won’t start, the customer will often notice a message worded something like this: “Object not found. Object is /tmp/mysql.sock.” • The report is usually along the lines of: “This mysql.sock file is missing, and that’s why it won’t start. Why is this file missing? Did the installer fail somehow? Can you send me this file?” • This is all exactly backwards. mysql.sock is a socket file. It only exists when the mysqld daemon is running. If the file does not exist, all that tells us is that the daemon is not running. • On the other hand, if the socket does exist, but the daemon is not active, then the daemon probably ended abnormally in some way that prevented it from removing the socket on the way down. The abandoned socket can prevent the next start up. • By the way, the name of the socket file has changed to mariadb.sock: /usr/local/mariadbdata/mariadb.sock
  • 73. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 73 So if it isn’t mariadb.sock… • ZendDBi is a little weird. Getting the messages and interpreting them turns out to be a little tricky compared to just looking at the most common problems. • Normally, I do the basic research first to get pointed in the right direction. But for MySQL start up problems, I do it backwards. There are just a few things to check, and it is so often true that one of them is the cause, it just seems like the most efficient method. • The common problems we will discuss are MySQL problems we have encountered. MariaDB is too new to have revealed any common problems. But we can look for any of these, and if there is anything new we need to know about MariaDB, we will learn about it in due time, probably at the cost of some sadness. • So, let’s start…
  • 74. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 74 1. QGPL in system library list • To check this, it is just: dspsysval qsyslibl • If QGPL is not there, this is probably not your problem. • This problem might also cause a message like this: CPF1338 received by procedure ZENDDBID. (C D I R) • If this does turn out to be the problem, our solution in the past has been to make a new start up CL that gets rid of QGPL from the SYSLIBL for the job, then calls the old startup program, that has been renamed. We can probably do something similar for MariaDB. I just haven’t yet, and probably won’t until someone reports this as a MariaDB issue. http://rodflohr.com/qgpl-in-system-library-list-prevents-zenddbi-mysql-daemon-from-starting/
  • 75. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 75 2. Port conflict • For the old MySQL, we used to think of this more along the lines of port 3306 in use. Now the new installer resolves port 3306 conflicts on the fly, so we expect this will not be so much of a port 3306 issue as just whatever port gets assigned. But a conflict is always a possibility, and most of the procedures still apply. • You can still use the information on this issue at my blog site, but you just need to be mindful that instead of port 3306, you may already to be configured to use some other port, and that should be the port you research for a conflict. • It is also possible you are configured for port 3306, but there is some process not always on, that uses that port, and could block you from starting up on occasion. http://rodflohr.com/port-3306-in-use-prevents-zenddbi-mysql-daemon-from-starting/
  • 76. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 76 3. Missing job description • This is an old problem I haven’t seen for a while. Hopefully it was a distribution error that has since been fixed, but I could never track it down. Everybody installed the same package, but only a few did not have this JOBD. It was kind of baffling. • Anyway, it was easy to check and easy to fix. Try to display the object description. If it’s missing, create it. It is still worth checking, because it only takes a few seconds, and the JOBD can be accidentally deleted. • The JOBD name is still the same, only the library name has changed: DSPOBJD OBJ(ZMARIADB/ZMYSQLJBDA) OBJTYPE(*JOBD) • It appears to be identical to the old JOBD, except all references to ZMYSQL have been replaced by ZMARIADB. http://rodflohr.com/missing-job-description-zmysqljbda-prevents-zenddbi-mysql-daemon-from-starting/
  • 77. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 77 4. Hey, maybe it is something with mariadb.sock • Just because the mysql.sock message does not tell you that there is a problem with mysql.sock, doesn’t mean it is telling you that there is not a problem with mysql.sock. • It is possible the daemon cannot create the socket at start up. This would typically be some permissions issue. Maybe someone revoked the authority to write to that directory from the user MYSQL. • It is also possible that a mysql.sock file already exists. This could be because another mysqld daemon is running. Or, maybe a prior mysqld daemon crashed and could not properly remove the socket. • Remember, for MariaDB the file is mariadb.sock: /usr/local/mariadbdata/mariadb.sock http://rodflohr.com/some-problem-with-mysql-sock-prevents-zenddbi-mysql-daemon-from-starting/
  • 78. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 78 5. Start MariaDB in PASE to review errors • If MariaDB won’t start, and none of the common problems account for it, you can try starting it in an interactive PASE terminal, where you can more easily see the messages that occur at that level. • Remember, the name of the daemon program is still mysqld, but it runs out of the mariadb folder structure, rather then the mysql folder structure. • This is the full command to run with all the options: /usr/local/mariadb/bin/mysqld --defaults-file=/usr/local/mariadb/bin/my.cnf --basedir=/usr/local/mariadb -- datadir=/usr/local/mariadbdata --plugin-dir=/usr/local/mariadb/lib/plugin --user=MYSQL --tmpdir=/tmp --log- error=/usr/local/mariadbdata/I72SUP1.cvo.roguewave.com.err --pid-file=/usr/local/mariadbdata/zmariadb.pid -- socket=/usr/local/mariadbdata/mariadb.sock --port=3307 http://rodflohr.com/start-zenddbi-mysql-daemon-in-pase-to-review-start-up-errors/
  • 79. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 79 6. Maximize job logging for the start up job • One final trick is to maximize the job logging in the IBM i job that controls the start up. This job does not really do much, but it is worth a look. This is especially true if you can launch the mysqld daemon from an interactive PASE terminal, but not from starting up the subsystem. • The jobq name is the same as for the old MySQL based product, but remember the library name is now ZMARIADB. http://rodflohr.com/maximize-job-logging-for-the-zenddbi-mysql-daemon-start-up-job/
  • 80. © 2016 Rogue Wave Software, Inc. All Rights Reserved. 80 Thank you! ZendCon 2016 link https://legacy.joind.in/19527

Notas do Editor

  1. I borrowed this title from wirecutter.com, an electronics review site I really like.
  2. This is always a good place to start.
  3. It should also be a lot easier to determine whether MariaDB is installed.
  4. The PDF version of the manual is very nice, with many color screen shots of the installation procedure. But I made my own for this presentation anyway.
  5. Here is the save file, and the text and pdf versions of the manual. Point out the format of the folder in the address box. It is different when copying.
  6. These instructions are copied verbatim from the user manual. We will see a bit at a time, as we follow them.
  7. These instructions are verbatim from the installation instructions included in the download. If you FTP the file before creating it as a Save File, it will be created automatically as a Physical File.
  8. These instructions are copied verbatim from the user manual. Let’s take a look at netstat *cnn. This is a handy thing to know how to do.
  9. Yes, we can already see that FTP is running, but let’s move on with the demo anyway. I want to show you something about netstat.
  10. F13 brings up the sort window. Select Local Port with a one. The local port must be unique to a service.
  11. Use F14 to show port numbers.
  12. And there is FTP port 21. Now we know what we already new about FTP, but we also know how to sort the netstat *cnn display. This is handy if there is a port conflict.
  13. These instructions are copied verbatim from the user manual. I’ll show you how to copy and paste the directory into the command prompt.
  14. Right clicking the directory collapses it into a more DOS friendly format for copy/paste. Copy it.
  15. This is a handy, if somewhat clunky, feature to use copy and paste in the Command Prompt. Click the C:/ icon to access the context menu.
  16. Don’t miss the bin command!
  17. Enter the FTP command, then your name and password when prompted. Don’t forget the “bin” command! You can copy and past the put command in from the instructions.
  18. This is just a quick sanity check to make sure the file is not a physical. Could happen if we misspelled the save file name when creating it, or when doing the PUT from FTP. dspsavf qgpl/zdbisavf10
  19. I like to do the interactive installation. Makes it easier to spot an issue in the install. Also, the submitted install makes for a very short slide show. I also like to set log level to LOG(4 00 *SECLVL) LOGCLPGM(*YES) although, I did see one installation fail because it wrapped the job log, due to settings on the customer machine.
  20. This is just something I like to do, being a Support guy.
  21. I didn’t manage to capture the “X-System” message mentioned in step 2. It does show up in the screen capture in the PDF user manual.
  22. This tells you the basics of what will be installed. Review each item briefly. Read and press enter.
  23. This is the GNU GPL Version 2. This is part of the answer to “Why MariaDB?”
  24. MySQL was running during this install, so it had port 3306 in use. The installer lets us choose another port.
  25. This takes a while. There is a nice progress bar to keep you entertained while you wait.
  26. Getting closer!
  27. And done! Press the “any” key.
  28. Some more basic installation info. The library name is ZMARIADB, and NOT ZENDDBI. Press F3 to not start up the ZENDDBI10 subsystem. We need to fix my.cnf first.
  29. And that’s it. MariaDB is installed. That was easy! But wait, don’t leave yet. There’s more to do.
  30. Here are some things we can do to head off trouble and make your life easier.
  31. I will show you later how to start from the command line. These CHGAUT commands are too long for the command line on most screens. Use QCMD.
  32. These CHGAUT commands are too long for the command line on most screens. Use CALL QCMD. If MariaDB is running, this requires a restart. But we haven’t started MariaDB yet. That’s next.
  33. Point out the shell program SH and the daemon MYSQLD. If the jobs don’t start up, it is time for trouble shooting.
  34. Take a look at the ZENDDBI10 subsystem to verify that MariaDB is started. Notice the daemon is named mysqld. That’s compatibility. Folder names can be anything, and so they use “maria”. But program and command names and such must always be the same as in MySQL, so they use “mysql”. And they interact with the MySQL extensions in PHP.
  35. This is just about the only support issue we see with MySQL installation – “Won’t start”
  36. Free bonus PuTTY demo! Hopefully you remember how to use netstst *cnn to check if port 22 is active. I told you it would come in handy!
  37. PuTTY has an even odder copy/paste interface than the Windows command prompt. (Talking about the –p option)…But there is a space between “-u” and “root”. Go fig…
  38. The session so far. Not getting a lot of feedback here, but that’s OK. If something doesn’t work there is usually an error. So no news is good news.
  39. This is what I could not do in QP2TERM, not knowing the workaround to use - export TERM=xterm
  40. Now you are not at the $ prompt anymore. You have a MariaDB prompt, indicating you are in the MariaDB client terminal.
  41. I still tend to forget the semicolon from time to time…
  42. Point out four entries for user root. Also, we could have used a select clause in the query to only show user ‘root’. Only the first host has a password. These are all the same host, the server itself. ::1 is the ipV6 equivalent of 127.0.0.1 .
  43. It’s always dicey copying out of Powerpoint or Word into plain text, because of the tilted quotes.
  44. Use the exit commend to leave the MariaDB terminal. No semicolon required. These passwords are a hash for “belladonna”
  45. The IP, port, user, password connection is common to TCP/IP services.
  46. This just shows how to use export TERM=xterm as a workaround to make QP2TERM work with the mysql command. Sorry the slide is hard to read. Maybe it’s a good thing we did this in PuTTY.
  47. We probably won’t do it this way in MariaDB.
  48. I wonder how many User Interfaces are designed by people who work in bash all day?
  49. Too bad setting the root password is a prerequisite, because that sure would have been easier in phpMyAdmin.
  50. This is pretty simple.
  51. Another nice UI!
  52. The icon has a sailboat look, and phpMyAdmin is actually spelled out, and if you hover over it, you get the tip. It’s a little hard to see here, but no problem to find IRL.
  53. The download starts, and there is a progress bar.
  54. When the download is complete, the Next button is enabled.
  55. Some light reading for you, no extra charge!
  56. There is something to do on this screen. Also notice the Virtual Host is the default we just set. Display name defaults to app name, but can be changed if you want. Fill in what is needed, then click Next.
  57. Some more light reading for you! GPL Version 2 again.
  58. This is moving right along!
  59. Be very careful on this screen. Take your time, check your work. A typo here can mean starting all over again. Remember we changed MariaDB to use port 3307, so we have to change it here. The screen loads with the default of 3306.
  60. You can still go back at this point.
  61. This takes a while. While it is happening there is a spinning graphic where the check mark is now.
  62. The application is deployed, and there is even a handy link you can click to launch the app.
  63. And now you have phpMyAdmin, and you can manage all of your MariaDB data. It might take a little time to get familiar with all the things you can do here.
  64. Who doesn’t want the MariaDB server to start up at IPL?
  65. The menu options are just doing ADDAJE and RMVAJE to add or remove the entry. Option 21 adds the entry. Option 22 removes the entry.
  66. These are some familiar MySQL troubleshooting tips. Time will tell how well they apply to MariaDB.
  67. Ironically, the controlling job checks for mysql.sock five times over regular intervals to see if it is there. If it is still missing after five tries, then it decides something is wrong and the daemon must not have started. It issues the generic error, then the customer looks in the job queue and sees five errors about mysql.sock. Five messages! Well, that must be important…
  68. I hate talking about this approach, because so many people seem to assume this is how we handle everything in Support. It is the exact opposite of what we normally do.
  69. Remember I said netstat *cnn can be very useful? Anyway, I meant to say that. Here is a good use for it.
  70. What it isn’t is a missing mysql.sock. Because it isn’t supposed to be there.
  71. This is the step we hoped to avoid by checking the common problems first. It isn’t awful, but can be a little tricky for customers not accustomed to using PASE.
  72. This is the last thing to try, and usually doesn’t help much. If we got this far without fixing it, it is probably something pretty obscure. Or a mistake in a prior step.
  73. Thanks for coming!