Installing and Maintaining Percona Server in an WHM/CPanel Environment - mysql

I have a VPS with Liquidweb, which currently uses a standard LAMP stack. I want to replace/supplement the installed version of MySQL with Percona, specifically to leverage XtraDB's advanced features. My initial request to their SysAdmins was they don't support that since its a nonstandard install.
My question is has anyone successfully run Percona in a WHM/Cpanel controlled environment? How did you install Percona? Did you have any problems? How do you maintain that installation? Were you able to have WHM "automatically" upgrade Percona, or at least prevent it from upgrading Percona down to MySQL? Is there a better way?
As a background, I am a software developer. I can run make, but managing a secure DB installation is beyond my scope.

http://www.ecommy.com/linux/install-percona-in-a-whm-cpanel-environment
also:
http://forums.cpanel.net/f5/installing-percona-mysql-track-queries-per-user-table-access-volumes-103477.html
The install is pretty straight forward. The database upgrading will not be managed within WHM/cpanel, so you would need to use your own method to administer updates. You should be able to install Maria in about the same matter.
I would personally keep a close eye on the installed database when cpanel does an update, just to make sure that it doesn't do something crazy like kicking the Percona version out. But, it should work without too much fuss.

Related

Realm Object Server + server performance monitoring

I am looking to implement some performance monitoring on my ROS server.
I'm running Ubuntu 16.04 running on a VPS. Unfortunately the VPS has no performance statistics. So I'm looking to install a tool or connect to a server that will help me understand the load the server is experiencing.
I'm specifically considering deploying Prometheus. Although it looks like quiet an effort to get it running I figure it's the most comprehensive tool available.
Before I start I want to be sure that this is achievable and it will not impact the ROS performance/capability.
Has anyone implemented performance monitoring? Did you use a particular service or tool and did you use a great document/page to help you install and configure?
Closed. See my comment, in the end I used Datadog, which appears to be very good.

Open Source Application Server Solution

A project with the following technologies and components has surfaced: to up a Web stack solution initially composed with Ubuntu, JDK, JBoss, Spring MVC 3.0+, and MySQL.
In planning this project, I have been struggling to find answers to the following questions for first steps, best practices, and sequence:
1) Does the JDK (and JBoss) need to be installed as ‘root’? (I have seen articles that mention it is not a good idea to operate in root unless absolutely necessary due to the fatal consequences.)
2) Does Ubuntu need to be installed as a Server in order to accomplish all this, or can it also be installed as a Desktop? I have not been able to determine if having a JBoss and MySQL need to be installed on top of Linux as a server.
3) Does Maven need to be used within Spring STS in order to get JBoss, and MySQL (and in the future Hibernate) to work successfully together?
4) My intent is to install in this order: a) Ubuntu -> b) Java -> c) JBoss -> d) Spring STS -> and e) MySQL. Are there any blatant conflicts in this sequence?
JBoss will require Java (recommend Java 7) before it will do anything. I don't think it really "installs" per-say, but rather just unpacks to some directory (even if you install from the package manager, it just really extracts itself). I question your need for Spring since JBoss and Java EE in general really does everything Spring does, and better now-a-days. Unless you have a specific requirement for Spring, I'd question this extra dependency.
For linux - in a high level, any OS can be a "server", all it needs is to be capable of serving things (web pages, ssh connections, etc). In M$ world, different "levels" of the OS have been specially designed based on anticipated task/workload. So for example, while Windows 7 can indeed run as a server, it was not designed for it and therefore may not be optimized or include helper utilities and tools to make life easier as a sys admin of the system. Windows Server on the other hand does include all the "normal" server tools and lots of goodies to make maintaining and setting the server up easier.
In linux land, this is no such thing. Linux is the kernel that talks back and forth with the bare metal, etc... and Distro makers will take that and build an OS around the kernel, basically just attaching any packages they feel their distro needs... such as wget, or cat, or any other standard userland apps, plus some non-standard such as mysql or java or whatever they want.
Now, some distributions of linux will tailor themselves at being "server" ready, while others will tailor themselves at being a desktop OS. The difference? It's really just whatever default packages the distribution maker decides to include or not. For example, the overwhelming majority of linux servers are run completely headless, and therefore there is absolutely no reason to have X11 and a huge bloated GUI environment installed and/or running on that system... it's pointless. Also, an "average joe" user does not need MySQL installed by default on his desktop system since it would only bloat his system and he likely won't ever use it.
So basically it comes down to default installed packages.
Some linux server distros take this further and exercise extreme caution when making updates, patches, or new releases in the name of stability and security, while on the other hand most desktop distros are more haphazard with their updates since if it breaks a home users web browser, it's probably not a huge deal... but if a server update breaks the webserver application stack, now that's a serious problem.
So you'll find server OS's like CentOS (based on upstream RHEL) are extremely slow to bring in the "latest and greatest" features that desktop OS's get early on. Their goal is high security and long term stability.
Now, for Ubuntu. While I certainty know a lot of folks run Ubuntu as their server OS choice (partly due to Amazon choosing Ubuntu as the default linux VM for their ECS cloud), but I'd really question this. Ubuntu is not focused on being a server. It's focused on being a great all-around desktop oriented OS. Yes the LTS version is meant for long term stability, but it's based out of a desktop OS, so it's still not the focus.
IMHO, I'd go with CentOS because it's free and completely binary compatible version of RHEL - and RHEL is the de-facto standard for enterprise-grade linux servers. Be aware though, the RHEL way of doing things is a bit different than the debian way -- so there is no apt-get, you must use yum install instead. Startup scripts are different and some ways of doing things are different, but really, once you know linux, you know linux.
EDIT: Also check into Jenkins - its a free opensource continuous integration system that runs on JBoss or Tomcat or any other container, and can automagically pull your code from a repo (github, git, svn, etc) and compile/package it then push it to live deployment. You setup your ANT or Maven build scripts, and it can kick off on a schedule or however you configure it.
EDIT EDIT: I'd also recommend using OpenJDK -- as it's likely included in your package manager (for just about every disto) and will be more updated than the oracle version if it's in your package manager too. I've found most "server" distros will have OpenJDK 7 while only having Oracle java 6 in their package managers. Also, installing it via the package manager will enable you to keep it updated a ton easier.
Installed as root, why not? Run as root, probably not a good idea.
If you want a desktop, install a desktop distrib. If you want a server, install a server distrib. This doesn't change what can and can't be run in the OS. It only changes what is installed by default.
Maven is a build tool. JBoss doesn't care how you build your app. All it cares about is if the application you deploy is a valid Java EE application.
No. You need an OS, so Ubuntu must come first. JBoss and (AFAIK) Spring STS need a JRE to run, as they're Java applications, so Java should be installed before them. MySQL is independent of JBoss, STS and Java, so you can install it whenever you want.
Note that if you're struggling just with this installation part, be prepared to suffer with the rest. Building a Java EE webapp is not a piece of cake, and you should probably find some experienced developer to help you, as it seems you're only beginning with Java.

MySQL standalone or via XAMPP?

This is my first question ever at stackoverflow, hope I make sense out of it. I am starting to learn about databases and also programming these days. So I would want to get some advice on MySQL database. Though it's open source and available for download, Should I install the standalone MySQL GUI version on my laptop (Windows 7 32bit) or should I install XAMPP and then access it through phpMyAdmin ?? My purpose of asking this question is that , for starters..I am learning SQL and querying. And then I would want to learn to create web application using php or JavaEE.
I am completely unaware of these concepts, so I would appreciate if someone can just take few minutes and guide me accordingly.
Thanks !
Regards
and welcome :)
If you're planning on concentrating on PHP more than MySQL, it's a good start to install XAMPP. It's more lightweight and contains both PHP and Mysql. It's better for you to concentrate on learning the basics first, rather than spend time on software components. That's why I would choose XAMPP (or my personal favorite: WAMP Server)
If you'd like to spend a bit more time on database management such as user management, jobs,... it could be interesting to download the Mysql server package from their site.
Also, that package comes with example databases which you can use to learn some SELECT and UPDATE queries. It queries a lot easier that PHPMyAdmin.
If your goal is to use MySQL with self-made applications, get XAMPP and learn some PHP before diving into queries
And then I would want to learn to create web application using php
In this case XAMPP should be your friend. BTW with XAMPP you get an MySQL-Server which is identically with the MySQL standalone. You can fire your querys by using phpmyadmin, or connect via shell (console) or thridparty programms ....
In case that you are using NPM, you can install a standalone version of MySQL using the mysql-server package: https://www.npmjs.com/package/mysql-server

Mercurial on linux or windows server

I have the choice between Centos and windows server 2008 to deploy as a mercurial server.
I am pretty confident with both operating systems, although probably a little more with windows.
For this question assume I am equally confident with both Operating systems.
Which should I use with regard to ease of maintenance, stability and backups?
Or is there just no difference?
I would prefer the linux server. But you could use SCM-Manager, then it is very easy on Windows and Linux.
The one you're most comfortable with.
There's no point in installing CentOS / Windows if you've never used it and lose hours on configuration and other problems.
I'd go with CentOS simply to avoid the licensing fee. Plus it's just as easy to setup and configure as a Windows server if you know what you are doing.

Use WampServer's MySQL as a real MySQL for going on the net

Is this a right thing to do? I am using the Apache/Tomcat that comes with the liferay portal bundle and I used the MySQL that comes with WampServer at home but now I want to transfer my portal to a real Server and I wanted to know whether I could still use the Wamp's MySQL or should I install a real MySQL (What's the difference?)
Thanks in advance.
WAMPS MySQL server is not artificial, its the real deal. WAMP just bundles these softwares together and lets you deploy easily for development purposes. In a production environment you would deploy MySQL as a separate software and tweak it according to your needs. You CAN you WAMP on production environment, however you will need to make sure that you do not have any security flaws in there.