Mysql 5.6: Difference between revisions

From VoIPmonitor.org
Jump to navigation Jump to search
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Debian 8 =
= Debian 8 =
Firstly install mysql 5.6 repositor from mysql community:
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
  mkdir /usr/src/mysql
  cd /usr/src/mysql
  cd /usr/src/mysql
  wget https://dev.mysql.com/get/mysql-apt-config_0.3.6-1debian8_all.deb
  wget https://dev.mysql.com/get/mysql-apt-config_0.8.6-1_all.deb --no-check-certificate
  dpkg -i mysql-apt-config_0.3.6-1debian8_all.deb
  dpkg -i mysql-apt-config_0.8.6-1_all.deb
When asked for products (select server -> mysql-5.6 ->Apply)
When asked for products (select server -> mysql-5.7 ->Apply)
  apt-get update
  apt-get update
  apt-get install mysql community server
  apt-get install mysql-community-server
When asked for root password leave it blank for now
When asked for root password enter strong password and writedown somewhere.
mysql_secure_installation


#Remove anonymous users? Yes
You can test that your mysql is running with (service mysql status)
#Disallow root login remotely?Yes
Set properly /etc/mysql/my.cnf (in [mysqld] section for best performance as discused in scaling doc [[https://www.voipmonitor.org/doc/Scaling#MySQL_performance]])
#Remove test database and access to it? Yes
#Reload privilege tables now? Yes
 
You can test that your mysql is running. Don't forget to set in /etc/mysql/my.cnf in [mysqld] section:
  innodb_flush_log_at_trx_commit = 2  
  innodb_flush_log_at_trx_commit = 2  
  innodb_file_format = barracuda
  innodb_file_format = barracuda
Line 23: Line 18:
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)
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
/etc/init.d/mysql restart


= Debian 7 =
= Debian 7 =
Line 58: Line 52:


== FRESH install (removes/backups previous data) ==
== 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
Stop voipmonitor service
  /etc/init.d/voipmonitor stop
  /etc/init.d/voipmonitor stop
Line 66: Line 63:
  mkdir /usr/src/mysql
  mkdir /usr/src/mysql
  cd /usr/src/mysql
  cd /usr/src/mysql
  wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
  yum localinstall mysql-community-release-el6-5.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:
Backup previous data of mysql and install new mysql:

Latest revision as of 16:01, 3 July 2017

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.8.6-1_all.deb --no-check-certificate
dpkg -i mysql-apt-config_0.8.6-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 enter strong password and writedown somewhere.

You can test that your mysql is running with (service mysql status) 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