How to install multiple mysql5.7.19 (tar.gz) files under Linux

How to install multiple mysql5.7.19 (tar.gz) files under Linux

For the beginner's first installation of MySQL-5.7.19 version under Linux, please see the previous article. If you already know how to install it, please see this article to install multiple mysql-5.7.19 under Linux

Environment: CentOS 6.5

1- Download


2- Skip login


3-1 If you want to install multiple databases, you need to configure your own my.cnf. If you only install one and the system has not installed it, you can just use this command

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
Check if there is a data directory. If not, add a command (mkdir data)
shell> chmod 750 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

Once installed, you can jump directly to login step 5

The following describes the installation of multiple MySQL instances:

3-2 To install multiple databases, you need to follow the following commands:

1-Add the configuration file my.cnf (command touch my.cnf in the mysql directory):

The following configuration files can be copied directly using paste

Then create the log file /xcxyz/log/mysql/error.log

[mysqld]
basedir= /usr/local/mysql-5.7.19-3307
datadir = /usr/local/mysql-5.7.19-3307/data
port = 3307
character-set-server=utf8
server_id = 11
#It is best to specify the socket. If it is not specified, the default socket file will be used by default and I will have the following problem when logging into the database socket = /tmp/mysql3307.sock 
log-error = /xcxyz/log/mysql/error.log
pid-file = /usr/local/mysql-5.7.19-3307/data/mysql-5.7.19-3307.pid

2-Execute the following command

2-1 Add user group My users and groups are using mysqlosf.

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

2-2 Establish a soft connection:

shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files

Check if there is a data directory. If not, add a command (mkdir data)

2-3 Authorize the current directory:

shell> chmod 750 mysql-files
shell> chown -R mysqlosf .
shell> chgrp -R mysqlosf .

2-4 Compilation

bin/mysqld --defaults-file=/usr/local/full-path-to-mysql-VERSION-OS/my.cnf --initialize --user=mysqlosf

View log output: vi /xcxyz/log/mysql/error.log
2017-07-24T03:13:47.933684Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-07-24T03:13:49.979892Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-07-24T03:13:50.262941Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-07-24T03:13:50.330756Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1d702294-701e-11e7-98a1-00163e30bbf6.
2017-07-24T03:13:50.340474Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-07-24T03:13:50.344419Z 1 [Note] A temporary password is generated for root@localhost: jZpgHhigx5>i (especially important to initialize the password later)

2-5 Establishing a key

shell> bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf 

這里寫圖片描述

2-6 Re-authorization allocation

shell> chown -R root .
shell> chown -R mysql data mysql-files

2-7 Start the background mysql

bin/mysqld_safe --defaults-file=/usr/local/full-path-to-mysql-VERSION-OS/my.cnf --user=mysqlosf &

Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysql.server

2-8 Check whether mysql is started ps -ef | grep mysql

4 Log in to MySQL and change the password using the temporary password just now


I have a problem here again, haha, I can't log in

Access denied for user 'root'@'localhost' (using password:YES) Solution is below

If you log in, you can directly use the temporary password just now to log in and set a password

5-After logging into MySQL, you are required to change your password immediately, otherwise you will not be able to perform any operations. Execute the following command to change the password of 'root'@'localhost' :

SET PASSWORD = PASSWORD('root');
 ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; 
flush privileges;

6-In order to log in remotely, add a 'root'@'%' account:

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

7- Local test connection

According to the above method, continue to unzip and install mysql-5.7.19-linux-glibc2.5-x86_64.tar.gz, and configure it to port 3308,3309, then you can install multiple mysql.

The solution is installed but I cannot log in:
If it is the same as mine, the reason is as follows: The English in the red box means that the second mysql needs to specify the socket and port. The English meaning is that if you do not specify the socket, the default will be selected because we install multiple mysqls, so this must be specified

mysql --socket=/tmp/mysql3307.sock --port=3307 -uroot -p 

If you accidentally lose your password or it has expired, you can reset it this way:

這里寫圖片描述

5- Reset Password:

5-1 Close the process

kill `cat /usr/local/mysql-5.7.19-3307/data/mysql-5.7.19-3307.pid`

5-2 Create the file mysql-init


5-2-1 Document Contents

The first content:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysqlosf'; 

這里寫圖片描述

Start after saving content

Copy the code as follows:
bin/mysqld_safe --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf --init-file=/usr/local/mysql-5.7.19-3307/mysql-init --user=mysqlosf &

If the above content is unsuccessful, choose the second content

UPDATE mysql.user
 SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
 WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

這里寫圖片描述

Start after saving content

Copy the code as follows:
bin/mysqld_safe --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf --init-file=/usr/local/mysql-5.7.19-3307/mysql-init --user=mysqlosf &

這里寫圖片描述

Wonderful topic sharing: Installation tutorials for different versions of MySQL Installation tutorials for MySQL 5.7 versions Installation tutorials for MySQL 5.6 versions

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • MySQL 5.7.19 (tar.gz) installation graphic tutorial under Linux
  • Detailed tutorial on installing mysql 5.7.17.tar.gz under Linux
  • Install mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz under Linux
  • Linux CentOS 6.5 Uninstall, tar and install MySQL tutorial

<<:  How to build svn server in linux

>>:  Solution to the problem of repeated triggering of functions in Vue project watch

Recommend

Skin change solution based on Vue combined with ElementUI

Table of contents Written in front Solution 1: Us...

JS gets the position of the nth occurrence of a specified string in a string

Learn about similar methods for getting character...

The whole process of installing gogs with pagoda panel and docker

Table of contents 1 Install Docker in Baota Softw...

XHTML Getting Started Tutorial: Commonly Used XHTML Tags

<br />Just like an article, our web pages sh...

Introduction to 10 online development tools for web design

1. Online Text Generator BlindTextGenerator: For ...

Centos 7 64-bit desktop version installation graphic tutorial

If you think the system is slow and want to chang...

How to implement n-grid layout in CSS

Common application scenarios The interfaces of cu...

How to operate Linux file and folder permissions

Linux file permissions First, let's check the...

js to achieve cool fireworks effect

This article shares the specific code for using j...

MySQL 5.6 root password modification tutorial

1. After installing MySQL 5.6, it cannot be enabl...

Vue implements two-way data binding

This article example shares the specific code of ...

js to implement web calculator

How to make a simple web calculator using HTML, C...

The difference and usage of LocalStorage and SessionStorage in vue

Table of contents What is LocalStorage What is Se...

Tutorial on installing phpMyAdmin under Linux centos7

yum install httpd php mariadb-server –y Record so...