Changes

Jump to navigation Jump to search
1,885 bytes added ,  21:23, 19 March 2022
no edit summary
Line 5: Line 5:  
[[File:Mysql.png]]
 
[[File:Mysql.png]]
 
</blockquote>
 
</blockquote>
 
+
__TOC__
 +
{{Note box| Mysql 5.7  support is up to 31 Oct 2023 so 8 months before SME10 EOL which is  30 June 2024.}}
 
== Description ==
 
== Description ==
   −
This contrib purpose is to help configuring mysql57 on  SME9 using software collection.
+
This contrib purpose is to help configuring mysql57 on  SME9 and above using software collection.
   −
This RPM will allow you to have 2 versions of Mysql running side by side. You will have to select the one to use in the setup of the specific application - please see "usage" below. Please note that applications and contribs like phpmyadmin etc. will as standard use the original Mysql DBM for your OS unless you change the database connection to Mysql 5.7.  
+
This RPM will allow you to have 2 or more (if also using another contrib for another sclo version) versions of MySQL running side by side. You will have to select the one to use in the setup of the specific application - please see "usage" below. Please note that applications and contribs like phpmyadmin etc. will as standard use the original Mysql DBM for your OS unless you change the database connection to Mysql 5.7.  
    
Most of configuration options are explained for mysql here : [[MySQL]] are also available for mysql57 ( except innoDB options). Only difference is to prefix mysqld and mysql.init db entry by "mysql57-".
 
Most of configuration options are explained for mysql here : [[MySQL]] are also available for mysql57 ( except innoDB options). Only difference is to prefix mysqld and mysql.init db entry by "mysql57-".
Line 16: Line 17:  
Note that default behaviour will be socket only, and if you enable networking, it will listen on 3309 locally. You then will need to open port to 3309 to access remotely. Also if you want another port you need to define mysql57-mysqld property port to whatever you want. Also remember that default mysql port is reserved to original mysql server  
 
Note that default behaviour will be socket only, and if you enable networking, it will listen on 3309 locally. You then will need to open port to 3309 to access remotely. Also if you want another port you need to define mysql57-mysqld property port to whatever you want. Also remember that default mysql port is reserved to original mysql server  
   −
this RPM will allow you to have 2 versions of mysql running!!!
     −
see also for reference: [[Software_Collections:MySQL]]  
+
See also for reference: [[Software_Collections:MySQL]]  
    
For SME9 Software collection is only available for x64 architectures.
 
For SME9 Software collection is only available for x64 architectures.
    
=== Version ===
 
=== Version ===
{{ #smeversion: smeserver-mysql57}}
+
{{#smeversion: smeserver-mysql57}}
    
=== Maintainer ===
 
=== Maintainer ===
[mailto:tests@pialasse.com[[User:Unnilennium|Unnilennium]]]
+
[mailto:tests@pialasse.com][[User:Unnilennium|Unnilennium]]
    
==Installation==
 
==Installation==
{{:Software_Collections_Repositories|transcludesection=SME9}}
+
<tabs container><tab name="For SME 10">
 +
yum install smeserver-extrarepositories-centos-sclo -y
 +
yum install --enablerepo=smecontribs,centos-sclo-rh smeserver-mysql57
 +
source /etc/profile.d/mysql57.sh
    +
and enjoy mysql57, no more commands nor reboot required !
 +
</tab>
 +
<tab name="For SME 9">
 +
yum install smeserver-extrarepositories-centos-sclo -y
 +
signal-event yum-modify
 
   
 
   
 
{{warning box| You have to do the  signal-event post-upgrade; signal-event reboot; or your mysql57 installation will remain in a definitive failed state. They are MANDATORY. }}
 
{{warning box| You have to do the  signal-event post-upgrade; signal-event reboot; or your mysql57 installation will remain in a definitive failed state. They are MANDATORY. }}
Line 41: Line 49:  
  yum install --enablerepo=smecontribs smeserver-mysql57
 
  yum install --enablerepo=smecontribs smeserver-mysql57
 
  signal-event post-upgrade ;  signal-event reboot
 
  signal-event post-upgrade ;  signal-event reboot
 +
</tab>
 +
</tabs>
    
== Usage ==
 
== Usage ==
 +
 +
By default mysql57 uses a socket for connections.
    
PHP applications that are aware of sockets are few, and most typically try to connect to a port. You will have to craft a way to define the one you want to use for your particular app. Some let you put it in a variable, some will just need you to add it after the hostname or ip (localhost:3309), some will just assume 3306 and just ignore anything else.
 
PHP applications that are aware of sockets are few, and most typically try to connect to a port. You will have to craft a way to define the one you want to use for your particular app. Some let you put it in a variable, some will just need you to add it after the hostname or ip (localhost:3309), some will just assume 3306 and just ignore anything else.
Line 50: Line 62:  
* localhost:/var/lib/mysql/mysql57.sock
 
* localhost:/var/lib/mysql/mysql57.sock
 
* localhost;unix_socket=/var/lib/mysql/mysql57.sock
 
* localhost;unix_socket=/var/lib/mysql/mysql57.sock
 +
 +
PHP applications that are aware of sockets are few, and most of them will try to connect to a port. To enable mysql57 to use a port you will need to do the following:
 +
 +
config setprop mysql57-mysqld port 3309 LocalNetworkingOnly no
 +
signal-event post-upgrade;signal-event reboot
 +
 +
mysq57 should now be listening on port 3309. you can check this using netstat:
 +
 +
netstat -atn |grep 3309
 +
 +
Beware that some applications just assume the running port number, so to connect to mysql55 on 3307 instead of stock mysql on 3306 you will need to carefully investigate and modify your application accordingly e.g.
 +
 
* localhost:3309
 
* localhost:3309
   Line 61: Line 85:  
For your convenience, aliases have been added :  mysql57, mysqlshow57, mysqladmin57, mysqldump57, mysqlimport57 and mysqlbinlog57
 
For your convenience, aliases have been added :  mysql57, mysqlshow57, mysqladmin57, mysqldump57, mysqlimport57 and mysqlbinlog57
   −
The following will connect to database wordpress in mysql57 server, and present the mysql prompt so you can work with the database.
+
Assuming you have a wordpress database setup, the following will connect to database wordpress in mysql57 server, and present the mysql prompt so you can work with the database.
    
  mysql57 wordpress
 
  mysql57 wordpress
 +
 +
However the full command line to access, per instance to mysql55 server with the mysql client against its version would be :
 +
 +
mysql57
 +
 +
Alternatively:
    
The complete path to the specific version of mysql57 server with the mysql client would be:  
 
The complete path to the specific version of mysql57 server with the mysql client would be:  
Line 70: Line 100:     
or use TCP on port 3309:
 
or use TCP on port 3309:
 +
 +
PHP applications that are aware of sockets are few, and most of them will try to connect to a port. To enable mysql57 to use a port you will need to do the following
    
{{Note box|1=Note see usage details in https://wiki.contribs.org/Software_Collections:MySQL55}}
 
{{Note box|1=Note see usage details in https://wiki.contribs.org/Software_Collections:MySQL55}}
Line 81: Line 113:  
  # signal-event post-upgrade; signal-event reboot
 
  # signal-event post-upgrade; signal-event reboot
   −
  # /opt/rh/mysql55/root/usr/bin/mysql --protocol=TCP --port=3309
+
  # /opt/rh/mysql57/root/usr/bin/mysql --protocol=TCP --port=3309
    
Note that using the regular 5.1 client may work, but can lead to unexpected results. Please avoid this type of command invocation:
 
Note that using the regular 5.1 client may work, but can lead to unexpected results. Please avoid this type of command invocation:
Line 90: Line 122:     
To reset the password for the MySQL root account. The MySQL root user on SME Server has a random generated password which is generated during installation. You do not need to know this password to login to MySQL with root privileges on SME Server. If you might have changed the MySQL root password you can reset it like this after getting command line access as root user.
 
To reset the password for the MySQL root account. The MySQL root user on SME Server has a random generated password which is generated during installation. You do not need to know this password to login to MySQL with root privileges on SME Server. If you might have changed the MySQL root password you can reset it like this after getting command line access as root user.
 +
#SME9
 
  service mysql57-mysqld stop
 
  service mysql57-mysqld stop
 
  expand-template /root/.my.cnf
 
  expand-template /root/.my.cnf
 
  expand-template /var/service/mysql57-mysqld/set.password
 
  expand-template /var/service/mysql57-mysqld/set.password
  /opt/rh/mysql57/root/usr/libexec/mysqld --socket=/var/lib/mysql/mysql57.sock --bootstrap --user=mysql --skip-grant-tables < /var/service/mysql57-mysqld/set.password
+
scl enable rh-mysql57 bash
 +
  /opt/rh/rh-mysql57/root/usr/libexec/mysqld --socket=/var/lib/mysql/mysql57.sock --bootstrap --user=mysql --skip-grant-tables < /var/service/mysql57-mysqld/set.password
 +
exit
 
  service mysql57-mysqld start
 
  service mysql57-mysqld start
 +
 +
#SME10
 +
systemctl stop mysql57-mysqld
 +
expand-template /root/.my.cnf
 +
expand-template /var/opt/rh/rh-mysql57/lib/misc/set.password
 +
scl enable rh-mysql57 bash
 +
/opt/rh/rh-mysql57/root/usr/libexec/mysqld --socket=/var/lib/mysql/mysql57.sock --bootstrap --user=mysql --skip-grant-tables < /var/opt/rh/rh-mysql57/lib/misc/set.password
 +
exit
 +
systemctl start mysql57-mysqld
    
=== Bugs ===
 
=== Bugs ===
Line 107: Line 151:     
Only versions released in smecontrib are listed here:  
 
Only versions released in smecontrib are listed here:  
{{ #smechangelog: smeserver-mysql57}}
+
{{#smechangelog: smeserver-mysql57}}
 
      
[[Category: Contrib]]
 
[[Category: Contrib]]
 
[[Category: Software Collections]]
 
[[Category: Software Collections]]
Super Admin, Wiki & Docs Team, Bureaucrats, Interface administrators, Administrators
3,250

edits

Navigation menu