Installez MySQL5.7 sous Centos7.x (installation yum)

MariaDB est installé par défaut dans CentOS, qui est une branche de MySQL, mais pour les besoins, MySQL doit être installé dans le système et MariaDB peut être écrasée directement une fois l'installation terminée.

1. Installez mysql

(Comme il n'y a pas de serveur mysql sur la source yum. Vous devez donc vous rendre sur le site officiel pour télécharger, ici nous utilisons la commande wget pour l'obtenir directement)

wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2. Installez le package de dépendances de mysql

miam -y installer mysql57-community-release-el7-10.noarch.rpm

Ou rpm -ivh mysql57-community-release-el7-10.noarch.rpm

3. Installez la base de données mysql

yum -y installer mysql-community-server

4. Terminez l'installation et redémarrez mysql

systemctl restart mysqld.service

À ce stade , MySQL a commencé à fonctionner normalement, mais si vous voulez entrer MySQL, vous devez d'abord trouver le mot de passe de l'utilisateur root à ce moment. Vous pouvez trouver le mot de passe dans le fichier journal en utilisant la commande suivante:
grep "password" / var / log /mysqld.log

Remarque: l'espace devant n'est pas un mot de passe

5. Copiez et collez le mot de passe ci-dessus pour entrer dans la base de données

mysql -uroot -p

entrez le mot de passe initial, vous ne pouvez rien faire pour le moment, car MySQL doit modifier le mot de passe par défaut avant d'utiliser la base de données pour modifier la commande de mot de passe:
ALTER USER'root '@' localhost 'IDENTIFIED BY' 123 ';

6. Résolvez l'erreur

L'erreur ci-dessus est que le nouveau mot de passe est trop simple, la solution:
// Commencez par modifier la complexité du format de mot de passe par défaut
ALTER USER'root '@' localhost 'IDENTIFIED BY'Xiejinming @ 12';

7. Afficher les règles de mot de passe initiales complètes de MySQL

Pour afficher les règles de mot de passe initiales complètes de MySQL, le principe de la visualisation est que le mot de passe doit être modifié avec la commande ALTER USER (SHOW VARIABLES LIKE'validate_password% ';).


Comment installer MySQL5.7 sous Centos7
Remarque: La longueur du mot de passe est déterminée par validate_password_length, et la formule de calcul de validate_password_length est: validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

8. Modifier la politique par défaut de MySQL et la longueur du mot de passe

1) Politique de modification de mot de passe
Étant donné que le mot de passe actuel est trop complexe pour être pratique pour des expériences ultérieures, il existe deux façons de modifier la politique de mot de passe à l'aide de commandes:

Les deux méthodes suivantes sont utilisées au hasard pour exécuter
mysql> set global validate_password_policy = 0;

mysql> set global validate_password_policy = LOW;

Remarque: Il existe quatre politiques de mot de passe:
1. OFF (fermé) 2. LOW (faible) 3. MEDIUM (moyen ) 4. FORT (fort)

2) Modifier la longueur du mot de passe
Après avoir changé la politique ci-dessus, nous changerons la longueur mysql> SET GLOBAL validate_password_length = 6;

9. Afficher les règles de mot de passe

Vérifiez les règles de mot de passe une fois toutes les modifications terminées mysql> SHOW VARIABLES LIKE'validate_password% ';

10. Changer pour un mot de passe simple

Ensuite, vous pouvez changer le mot de passe complexe en un mot de passe simple à quatre chiffres:
ALTER USER'root '@' localhost 'IDENTIFIED BY' 123456 ';

11. Désinstallez la mise à jour automatique de la source d'installation

Il y a toujours un problème pour le moment, car le référentiel Yum est installé, chaque opération yum sera automatiquement mise à jour à l'avenir, car la base de données actuelle a été installée, alors désinstallez ceci:
yum remove mysql57-community-release.noarch

12. Initialisez la base de données

mysql_secure_installation


Remarque: après avoir exécuté la commande d'initialisation, vous devez entrer le mot de passe de l'utilisateur racine de la base de données, puis appuyez sur Entrée à fond comme indiqué dans la capture d'écran ci-dessus par défaut. (La question de capture d'écran ci-dessus peut également être sélectionnée en fonction de votre situation réelle)

13. Accordez des autorisations pour que les outils distants puissent se connecter

1) Basculez vers la base de données mysql: utilisez mysql;

2) Accordez des autorisations afin que tout hôte puisse utiliser le compte root et le mot de passe 123456 pour se connecter

DONNEZ TOUS LES PRIVILÈGES SUR *. * À 'root' @ '%' IDENTIFIÉ PAR '123456' AVEC L'OPTION GRANT;

3) Actualiser les nouvelles autorisations: vider les privilèges;

4) Afficher les utilisateurs

sélectionnez l'utilisateur, l'hôte, la chaîne_authentification 密码 de l'utilisateur;

5) Éteignez le pare-feu

Afficher | fermer | ouvrir l'état du système de pare-feu | arrêter | démarrer firewalld.service

Désactiver définitivement le pare-feu: systemctl disable firewalld.service

6) Utilisez l'outil Navicat pour tester le lien

14. Définissez la base de données pour ignorer la casse (certains projets doivent être ignorés, sinon le projet ne démarrera pas)

Dans le système Linux, sous les paramètres par défaut:

数据库名与表名是严格区分大小写的;
列名与列的别名在所有的情况下均是忽略大小写的;
变量名也是严格区分大小写的;

Dans le système Windows, sous les paramètres par défaut:

都不区分大小写

Vérifiez la valeur de lower_case_table_names, 0 signifie sensible à la casse, 1 signifie insensible à la casse.

afficher des variables comme '% case%';

mysql> SHOW VARIABLES LIKE '%case%';
+------------------------------------+-------+
| Variable_name                      | Value |
+------------------------------------+-------+
| lower_case_file_system             | OFF   |
| lower_case_table_names             | 0     |
| validate_password_mixed_case_count | 1     |
+------------------------------------+-------+
3 rows in set (0.01 sec)

mysql> 

Solution:

1) Utilisez vi /etc/mysql/my.cnf pour ouvrir le fichier de configuration mysql,

2) Ajoutez le code suivant sous [mysqld]: lower_case_table_names = 1

Remarque: il doit être placé sous le nœud mysqld. S'il est placé sous d'autres nœuds, il ne prendra pas effet !!!!

Vous pouvez ajouter la configuration suivante en passant:

character_set_server = utf8

# Le moteur de stockage par défaut de la nouvelle table de données

default-storage-engine = INNODB

max_allowed_packet = 128 Mo

max_connections = 1000

lower_case_table_names = 1

3) Après la configuration, enregistrez et redémarrez la base de données: systemctl restart mysqld.service

4) Vérifiez à nouveau la valeur de lower_case_table_names

afficher des variables comme '% case%';

mysql> SHOW VARIABLES LIKE '%case%';
+------------------------------------+-------+
| Variable_name                      | Value |
+------------------------------------+-------+
| lower_case_file_system             | OFF   |
| lower_case_table_names             | 1     |
| validate_password_mixed_case_count | 1     |
+------------------------------------+-------+
3 rows in set (0.01 sec)

mysql> 

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42162451/article/details/115030822
conseillé
Classement