Mysql 5.6

From VoIPmonitor.org
Jump to navigation Jump to search

Debian 8

We will install mysql community repository and use it to install mysql 5.7 using apt-get install (this allow us to keep mysql updated)

mkdir /usr/src/mysql
cd /usr/src/mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
dpkg -i  mysql-apt-config_0.6.0-1_all.deb

When asked for products (select server -> mysql-5.7 ->Apply)

apt-get update
apt-get install mysql-community-server

When asked for root password leave it blank for now (! This step is valid only for mysql 5.6.x - skip it if you installing 5.7.x)

mysql_secure_installation
#Remove anonymous users? Yes
#Disallow root login remotely?Yes
#Remove test database and access to it? Yes
#Reload privilege tables now? Yes

You can test that your mysql is running. Set properly /etc/mysql/my.cnf (in [mysqld] section for best performance as discused in scaling doc [[1]])

innodb_flush_log_at_trx_commit = 2 
innodb_file_format = barracuda
innodb_buffer_pool_size = 8GB

Size for innodb buffer is basicaly half of your available RAM if you have 16G or more but respect your free RAM:(for 2G set 256M, 4G set 512M, 6G set 2G, 8G set 3G) /etc/init.d/mysql restart

Debian 7

apt-get install libaio1
wget "http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-server_5.6.22-1debian7_amd64.deb-bundle.tar"
tar xf mysql-server_5.6*-1debian7_amd64.deb-bundle.tar 
dpkg -i mysql-*.deb

Debian 6

cd /usr/src
wget http://www.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22-debian6.0-x86_64.deb/from/http://cdn.mysql.com/ -O mysql-5.6.22-debian6.0-x86_64.deb
dpkg -i mysql-5.6.22-debian6.0-x86_64.deb
rm mysql-5.6.22-debian6.0-x86_64.deb
mv /etc/mysql/my.cnf /etc/my.cnf
cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql.server && update-rc.d mysql.server defaults
apt-get install libaio1
chown -R mysql /opt/mysql/server-5.6/
chgrp -R mysql /opt/mysql/server-5.6/

upgrade mysql

/opt/mysql/server-5.6/scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
rm /opt/mysql/server-5.6/my.cnf 
vi /etc/my.cnf
basedir = /opt/mysql/server-5.6
lc-messages-dir = /opt/mysql/server-5.6/share
remove language = …

Centos 7,6,5 by YUM repos

FRESH install (removes/backups previous data)

This guide was used for creating this howto:

http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

Stop voipmonitor service

/etc/init.d/voipmonitor stop

Copy link to mysql-community-repository for RH7,RH6 or RH5 from here (i.e.: if you have centos 6.6 copy link for RH6)

http://dev.mysql.com/downloads/repo/yum/

and download and install:

mkdir /usr/src/mysql
cd /usr/src/mysql
wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
yum localinstall mysql57-community-release-el6-7.noarch.rpm

Also newly was mysql 5.7 released for production use, therefore you need to disable 5.7 and enable mysql 5.6 in /etc/yum.repos.d/mysql-community.repo in section

[mysql56-community]
enabled=1
[mysql57-community]
enabled=0

Backup previous data of mysql and install new mysql:

service mysqld stop
mv /var/lib/mysql /var/lib/mysql-old
yum install mysql-community-server

Create new system tables and database for mysql and set ownership

mysql_install_db
chown mysql:mysql -R /var/lib/mysql

Start mysql and setup root password (remove anonymous user and test db)

service mysqld start
mysql_secure_installation

Start voipmonitor service (this will create tables neeeded by service in mysql)

/etc/init.d/voipmonitor start

After startup of a service please login to GUI and setup root password/users. (don't forget to setup mysql server for performance as descibed here:Link title

Centos 5

Remove old mysql server and install packages needed for upgrade

yum install libaio perl
yum remove mysql-server mysql

Install mysql-community repository

wget http://dev.mysql.com/get/mysql-community-release-el5-5.noarch.rpm
rpm -Uvh mysql-community-release-el5-5.noarch.rpm

Check for successfully added repository and install new mysql-server

yum repolist enabled | grep "mysql.*-community.*"
yum install mysql-community-server

Recreating/upgrading tables engine, first manualy run mysql-server and after successfully upgrade set ownership of /var/lib/mysql back to mysql

mysqld_safe --skip-grant-tables --skip-secure-auth --skip-networking
mysql_upgrade -p
chmod -R mysql:mysql /var/lib/mysql

Mysql start/check/stop service

service mysqld start
service mysqld status
service mysqld stop

how to yum ref: http://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html