MySQL Monitor Replication - mysql

Does anyone knows any free alternative MySQL Enterprise Monitor?
I need some tool, that allows me to monitor my 3 servers with replication without having to open ssh console, and use command line.
Regards,
Pedro

See the answer to a similar question by themattreid here: How to monitor MySQL query errors, timeouts and logon attempts?
He recommended looking at kontrollbase: http://kontrollsoft.com/software-kontrollbase lots of functionality and is open source.

I wrote an open source tool called MySQLMonk that can monitor replication.

This Could be the tool you are looking for its called MONyog. It does quit a neat job as far as MySQL admin operations are concerned and has a great maintenance cycle.
MONyog - MySQL Monitor and Advisor has separate Replication tab which shows Replication topology of all MySQL servers in your environment.
MONyog has so many other features which can be helpful for DBA activities like Find problem SQL, Trend analysis, Alerts on critical conditions and 200+ Advisors which makes it a complete MySQL monitoring solution.

Related

MariaDB and MySQL in mixed environments - Replication issue with master/slave design

I am designing a data replication solution across timezones and have run into the issue where I can only run and old version of MySQL (5.6) in one location, whereas the other two have MariaDB 10.2.
Now, I have read the information about Replication Compatibility over at MariaDB. Clearly I can't use MariaDB as a master and MySQL as a slave.
Intermediate solution based on Bash scripts
Yet, I want to use my EU server as a master and that is running MariaDB. So I'm now contemplating a way around the limitation. So far I have come up with an intermediate data storage solution in the overseas server, where data is shuffled periodically using my own Bash data migration scripts over a low bandwidth link.
MariaDB is required in the primary location
I have to use MariaDB in my primary location because I'm using the ColumnStore database there. That is unconditional as part of the application design.
Does this situation ring a bell?
Do you have experience with similar situations and would you mind sharing some inspiration as for how you did it?
My best solution so far is with Bash scripts that are cronned, where MySQL data is dumped (mysqldump) and transferred over a low bandwidth link, then merged with the master (ColumnStore storage engine). I'm looking at a T+1 data lag between my primary location and the secondary location that is running MySQL.
Any high level design thoughts or shared experience is highly appreciated.
Best regards

Node.js, Express, MySQL - update schema

I have a small app running on a production server. In the next update the db schema will change; this means the production database schema will need to change and there will need to be some data manipulation.
What's the best way to do this? I.E run a one off script to complete these tasks when I deploy to the production server?
Stack:
Nodejs
Expressjs
MySQL using node mysql
Codeship
Elasticbeanstalk
Thanks!
"The best way" depends on your circumstances. Is this a rather seldom occurrence, or is it likely to happen on a regular basis? How many production servers are there? Are there other environments, e.g. for integration tests, staging etc.? Do your developers have an own DB environment on their machines? Does your process involve continuous integration?
The more complex your landscape is, the better it is to use solutions like Todd R suggested (Liquibase, Flywaydb).
If you just have one production server and it can be down for maintenance for a few hours, the it could be sufficient to
Schedule a maintenance downtime with your stakeholders and users
Shutdown the server
Create a backup
Update the database structure and contents as necessary
Deploy software updates
Restart the server
Test the result (manually or automatically)
Inform your stakeholders and users
If anything goes wrong, rollback to a backed up version of the database and your software.
Having database update scripts is advisable. Having tested them once or more is advisable even more. Creating a backup in advance is essential.
http://www.liquibase.org/ or http://flywaydb.org/ - pretty "heavy" for one time use, but if you'll need to change the schema again in the future, probably worth investing the time to learn one of these.

Amazon RDS CPU spikes

Does anybody have an idea why we have these hourly spikes in CPU usage on our Amazon RDS database?
We don't have any crons running every hour so it seems to be some internal RDS stuff because it's exactly every hour.
Does RDS do some index updates or something every hour?
What's the best way to find out what is causing this?
We have a number of RDS instances running, from micros up to larges, and I don't see this pattern anywhere - so I suspect that it is something in your code.
Probably the best option to figure out what is going on is to be logged into the database at the top of the hour, and monitor what is connecting and what they're doing. For mysql, you can probably start with SHOW FULL PROCESSLIST. There are monitoring tools that will monitor this for you.
You can enable slow and general log on MySQL server and analyze them using pt-query-digest
also there are some commercial tools like MEM and MONyog which can be handy in monitoring SQL queries.

How do you investigate contention issues on MySQL

I am a website developer and I am being told by the server administrator that there are contention issues on the mysql database. I would like to investigate these contention issues myself and see what they are but I do not know how or where to look for contention issues. Please can you advise me where to look. Do I need to look in the logs? If so what logs and where will I find them? The database is MySQL v5.1 running on linux. I'm not sure what version yet as I don't have control panel or ssh access but I aim to get that today.
Thanks very much
Contention issues is usually a fancy way of saying there are locking problems, meaning queries get locked status.
You need to identify them and check your app for solutions.
You can run SHOW PROCESSLIST when server is busy to see what queries are currently locked.
SHOW OPEN TABLES can also help you to identify the problem and another question posted here
First you should check the mysql is running or not by using below command.
mysqladmin -u root -p status
This command will show :-
Enter password:
Uptime: 4 Threads: 1 Questions: 62 Slow queries: 0 Opens: 51 Flush tables: 1 Open tables: 60 Queries per second avg: 15.200
Also check the error type :-
http://dev.mysql.com/doc/refman/5.5/en/privilege-system.html
Maybe you should start by asking your server administrator what he/she sees that makes him/her believe that there are contention issues - they have a much better view of your DBMS than we do. And by the sound of things you are paying them for this service.
It would have been helpful if you'd said which database engine the tables are stored in: this is by far the most critical issue for contention in MySQL. You may be able to solve your problems by switching from MyISAM to Innodb.
I don't have control panel or ssh access
IME off-the-shelf control panels are fine for (very) rudimentary admin tasks, but not much use for this.
I would start by looking at the slow query log. This should be configured to log all queries - if it's not tell the admin you need it changed. Look at which queries have high lock times, then identify the lonf executing queries which are causing the high lock times. Then fix them.

Recommendable Hot Backup System for MySQL?

I am looking for a hot backup system for mysql databases? I like to ask you for experiences and expertise.
So the place you want to look for good solutions to MySQL issues is Mysql Performance Blog/Percona. Specifically, what you want to do is use their XtraBackup, which fixes a number of issues that occur with InnoDBs hot backup. You'd be well served to use their patched server with their InnoDB replacement XtraDB.
They integrate a number of third party patches for MySQL, including their own and Google's, and have enhanced the InnoDB storage engine with fixes, enhancements and better logging. Additionally, Percona sponsors a fantastic toolbox for MySQL called Maatkit, which gives some components to help you with backups and integrity checks.
I know InnoDB hot backup but works just for InnoDB
http://www.innodb.com/products/hot-backup/
I use the MySQL GUI Administrator Tool. It has a backup tool, which you can use to schedule daily backups through windows. You can create different backup projects, schedule the backups, and control how the backup runs and the type of output file it creates.
I've always found it reliable, and the other tools bundled with it are also useful for basic database administration.