J'ai lu beaucoup d'articles, j'ai beaucoup essayé, mais ça n'a pas bien fonctionné, j'ai eu une erreur inexplicable, je ne sais pas où je me suis trompé, j'ai vu un blog qui peut être testé par moi-même
Les marchandises sèches ont commencé
1. Téléchargez le package compressé mysql5.7 et remplacez le lien de téléchargement par la version dont vous avez besoin
wget https://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
2. Décompressez
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
Décompressez la structure du répertoire
3. Renommez le fichier mysql après la décompression
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
4. Copier dans le répertoire spécifié
cp -r mysql / usr / local /
5. Ajoutez des groupes d'utilisateurs, utilisez la gestion spéciale mysql pour améliorer la sécurité
5.1 Nouveau groupe
groupadd mysql
5.2 Nouvel utilisateur
useradd -r -g mysql mysql
6 Modifier les autorisations du répertoire mysql
6.1 Entrez dans le répertoire racine de mysql
cd / usr / local / mysql /
6.2 Modifier le propriétaire en tant qu'utilisateur mysql
chown -R mysql: mysql ./
7. Configurer le service mysql
7.1 Copiez mysql.server sous mysql / support-files dans /etc/init.d/ et personnalisez-le comme mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
7.2 Modifier le service
vi /etc/init.d/mysql
7.3 Contenu modifié
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
8. Configurer le fichier de configuration mysql
Il y a des fichiers de configuration par défaut sous support-files dans d'autres versions de mysql, mais pas dans la version 5.7.24. Vous devez vous préparer vous-même. Une configuration de base simple est fournie ci-dessous
Créez un nouveau my.cnf sous / etc /, certains peuvent demander qu'il existe déjà, car le fichier de configuration de la base de données installé par défaut est également là, il suffit de l'écraser.
8.1 Entrez dans le répertoire etc
cd /etc
8.2 Supprimer my.cnf
rm -rf mon.cnf
8.3 Nouveau my.cnf
vim my.cnf
8.4 Contenu édité
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
port = 3306
default-character-set=utf8
[mysqld]
# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
9. Initialisez la base de données
9.1 Entrez dans le répertoire mysql / bin
cd / usr / local / mysql / bin /
9.2 Effectuer l'initialisation
./mysqld --initialize --user = mysql --basedir = / usr / local / mysql --datadir = / usr / local / mysql / data
9.3 A rencontré une erreur
./mysqld: erreur lors du chargement des bibliothèques partagées: libnuma.so.1: impossible d'ouvrir le fichier objet partagé: aucun fichier ou répertoire de ce type
9.4 Exécutez les commandes suivantes
yum -y installer numactl.x86_64
9.5 Effectuer à nouveau l'initialisation
./mysqld --initialize --user = mysql --basedir = / usr / local / mysql --datadir = / usr / local / mysql / data
9.6 A rencontré une erreur
./mysqld: erreur lors du chargement des bibliothèques partagées: libaio.so.1: impossible d'ouvrir le fichier objet partagé: aucun fichier ou répertoire de ce type
9.7 Exécuter les commandes suivantes
miam -y installer libaio
9.8 Effectuer à nouveau l'initialisation
./mysqld --initialize --user = mysql --basedir = / usr / local / mysql --datadir = / usr / local / mysql / data
9.9 Après l'exécution, le mot de passe par défaut sera automatiquement généré dans l'enregistrement d'exécution, veuillez le copier
10. Démarrez le service mysql
10.1 Exécuter la commande de démarrage
service mysql start
Le démarrage réussi demandera ok
11. Connexion et configuration à distance
11.1 Connexion
Entrez dans le répertoire mysql / bin et exécutez
cd / usr / local / mysql / bin
./mysql -uroot -p
11.2 Entrer le mot de passe
Entrez le mot de passe: entrez le mot de passe temporaire par défaut
11.3 Changer le mot de passe
set password = password ('nouveau mot de passe');
11.4 Configurer l'accès à distance ( autorisation de l'utilisateur root mysql connexion Navicat )
Dans python3, connectez mysql ou Navicat à distance via pymysql , si l'autorisation n'est pas définie, l'erreur de connexion de l'hôte '*' non autorisée sera signalée
#密码登录后
mysql -uroot -p
#打开mysql库
use mysql;
#修改mysql权限表
update user set host='%' where user='root';
#立即生效
flush privileges;
Après avoir terminé l'opération ci-dessus, n'oubliez pas de définir le port autorisé sur le serveur Alibaba Cloud (je suis le serveur Alibaba Cloud et changez-le vous-même)
Définir la direction du groupe de sécurité
12. Définissez les variables de démarrage et d'environnement (peuvent être ignorées)
12.1 Démarrage
12.1.1 Afficher la liste des services à démarrage automatique
chkconfig --liste
12.1.2 Ajouter le service mysql au service de démarrage automatique
chkconfig - ajouter mysql
12.1.3 Définir le démarrage automatique
chkconfig mysql sur
12.2 Variables d'environnement
12.2.1 Pour vous connecter à mysql sans être dans le répertoire mysql / bin, définissez le répertoire mysql / bin sur la variable d'environnement
vim / etc / profile
12.2.2 Contenu modifié (le contenu suivant est placé à la fin du fichier après l'ouverture du fichier d'édition vim)
# mysql environment
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
12.2.3 Mettre à jour les variables d'environnement
source / etc / profile