Home >Database >Mysql Tutorial >Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux

Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux

黄舟
黄舟Original
2017-07-27 15:29:261791browse

This article mainly introduces multiple mysql5.7.19tar.gz installation tutorials under Linux in detail, which has certain reference value. Interested friends can refer to it

First time for beginners Please read the previous article for a tutorial on installing MySQL-5.7.19 version under Linux. If you have already installed it, please read this article to install multiple mysql-5.7.19 under Linux.

Environment: centos 6.5

1-Download


2-Skip login


3-1 To install multiple databases, you need to configure your own my.cnf. If you only install one, and the system has not been installed before, just run 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
查看下有没有data目录如果没有的话增加个命令(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

After installation, you can jump directly to login step 5

The following is about installing multiple mysql:

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 and pasted directly

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
#该socket最好指定,不指定的话默认的话 是使用的默认的socket文件 而且登陆数据库的时候会有我下面的问题
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 a user group. My users and groups all use 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 Compile

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(It is particularly important to initialize the password later)

2-5 Create key


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

Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux

2-6 Reauthorize distribution

##

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

2-7 Start 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 to change the password and use the temporary password just now


I have another problem here haha, I still can’t log in

Access denied for user 'root'@'localhost' (using password:YES)The solution is at the bottom

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

5-After logging in to MySQL, you are required to change the password immediately, otherwise no operations can be performed. 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

Follow the above method and continue to unzip and install mysql-5.7.19-linux-glibc2. 5-x86_64.tar.gz, and configured as ports 3308 and 3309, you can install multiple mysql.

The solution is installed but cannot be logged in:

If it is like me above

The reason is that the English in the red box below is the second mysql and needs to specify the socket and port, the English meaning That is to say, if you do not specify the socket, the default one will be selected. Because we install multiple mysql, this must be specified



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


If here If you accidentally lost your password or the password has expired, you can reset your password in this way:

Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux 

5-重置密码:

5-1关闭进程


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

5-2创建文件mysql-init

 

5-2-1文件内容

第一种内容:


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

Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux 

保存内容之后启动

代码如下:

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     &

如果上述内容不成功选择第二种内容


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

Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux 

保存内容之后启动

 代码如下:

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     &

Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux

The above is the detailed content of Detailed graphic tutorial on the installation of multiple mysql5.7.19 (tar.gz) under Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn