Maison  >  Article  >  base de données  >  Tutoriel graphique détaillé sur l'installation de plusieurs mysql5.7.19 (tar.gz) sous Linux

Tutoriel graphique détaillé sur l'installation de plusieurs mysql5.7.19 (tar.gz) sous Linux

黄舟
黄舟original
2017-07-27 15:29:261757parcourir

Cet article présente principalement en détail plusieurs didacticiels d'installation de mysql5.7.19tar.gz sous Linux, qui ont une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Élémentaire pour la première fois Pour le didacticiel sur l'installation de MySQL-5.7. Version .19 sous Linux, veuillez lire l'article précédent Si vous l'avez déjà installé, veuillez lire cet article pour installer plusieurs mysql-5.7.19 sous Linux

Environnement : centos 6.5

1-Télécharger


2-Ignorer la connexion


3-1 Pour installer plusieurs bases de données, vous devez configurer votre propre my.cnf. Si vous n'en installez qu'une seule et que le système n'a pas été installé auparavant, exécutez simplement cette commande


.
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

Après l'installation, vous pouvez passer directement à l'étape de connexion 5

Voici la situation d'installation de plusieurs MySQL :

3-2 Pour installer plusieurs bases de données, vous devez suivre les commandes suivantes :

1-Ajouter le fichier de configuration my.cnf (commande touch my.cnf dans le répertoire mysql) :

La configuration suivante les fichiers peuvent être directement copiés et collés dans

Créez ensuite le fichier journal /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-Exécutez la commande suivante

2-1 Ajouter des groupes d'utilisateurs. Mes utilisateurs et groupes utilisent tous 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 Établissez une connexion logicielle :


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

Vérifiez s'il existe un répertoire de données. Sinon, ajoutez une commande (mkdir data)

2- 3 Autorisez le répertoire courant :


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

2-4 Compiler

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

Afficher la sortie du journal : vi /xcxyz/log/mysql/error.log
2017- 07-24T03:13:47.933684Z 0 [Avertissement] TIMESTAMP avec la valeur implicite DEFAULT est obsolète Veuillez utiliser l'option de serveur --explicit_defaults_for_timestamp (voir la documentation pour plus de détails).
2017-07-24T03:13:49.979892Z 0 [ Avertissement] InnoDB : Nouveaux fichiers journaux créés, LSN=45790
2017-07-24T03:13:50.262941Z 0 [Avertissement] InnoDB : Création de tables système de contraintes de clé étrangère.
2017-07-24T03:13:50.330756 Z 0 [Avertissement] Aucun UUID existant n'a été trouvé, nous supposons donc que c'est la première fois que ce serveur est démarré. Génération d'un nouvel UUID : 1d702294-701e-11e7-98a1-00163e30bbf6.
2017-07-. 24T03:13:50.340474Z 0 [Avertissement] La table Gtid n'est pas prête à être utilisée. La table 'mysql.gtid_executed' ne peut pas être ouverte.
2017-07-24T03:13:50.344419Z 1 [Note] Un mot de passe temporaire est généré pour root@localhost : jZpgHhigx5>i (un mot de passe particulièrement important sera initialisé)

2-5 Établir la clé


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

Tutoriel graphique détaillé sur linstallation de plusieurs mysql5.7.19 (tar.gz) sous Linux

2-6 Réautoriser la distribution


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

2-7 Démarrer MySQL en arrière-plan


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

La commande suivante est facultative


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

2-8 Vérifiez si MySQL est démarré ps - ef | grep mysql

4 Connectez-vous à mysql Changez le mot de passe et utilisez le mot de passe temporaire tout de suite


J'ai un autre problème ici haha, je n'arrive toujours pas à me connecter

Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) La solution est en bas

Si vous vous connectez, vous pouvez vous connecter directement en utilisant le mot de passe temporaire tout à l'heure et définir le mot de passe

5-Connexion Après MySQL, le mot de passe doit être modifié immédiatement, sinon aucune opération ne peut être effectuée. Exécutez la commande suivante pour changer le mot de passe de 'root'@'localhost' :


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

6-Afin de vous connecter à distance, ajoutez un compte 'root '@'%' :


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

7-Test de connexion local

Suivez la méthode ci-dessus et continuez à décompresser et à installer mysql-5.7.19-linux-glibc2.5-x86_64.tar.gz et configuré avec les ports 3308 et 3309, vous pouvez installer plusieurs mysql.

Je n'arrive pas à me connecter après avoir installé la solution :
Si c'est comme moi ci-dessus
La raison est que l'anglais dans la case rouge ci-dessous est mon deuxième mysql et je dois spécifier le socket et port. Le sens anglais C'est-à-dire que si vous ne spécifiez pas le socket, celui par défaut sera sélectionné. Parce que nous installons plusieurs mysql, cela doit être spécifié


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

Si vous perdez accidentellement votre mot de passe ici ou si le mot de passe a expiré, vous pouvez réinitialiser votre mot de passe de cette manière :


Tutoriel graphique détaillé sur linstallation de plusieurs mysql5.7.19 (tar.gz) sous 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';

Tutoriel graphique détaillé sur linstallation de plusieurs mysql5.7.19 (tar.gz) sous 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;

Tutoriel graphique détaillé sur linstallation de plusieurs mysql5.7.19 (tar.gz) sous 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     &

Tutoriel graphique détaillé sur linstallation de plusieurs mysql5.7.19 (tar.gz) sous Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn