Maison >base de données >tutoriel mysql >Comment compiler et installer MySQL dans Centos7
Comment compiler et installer mysql dans centos7 : 1. Installez les packages de dépendances ; 2. Téléchargez le package de code source correspondant ; 3. Extrayez le mysql téléchargé dans le répertoire "/usr/local/mysql" ; /my .cnf"; 5. Initialisez mysql; 6. Démarrez mysql.
L'environnement d'exploitation de cet article : système centos7, mysql version 5.7, ordinateur Dell G3.
Comment compiler et installer MySQL dans Centos7 ?
compilation du code source centos7 et installation de mysql5.7
Dans le passé, la chose la plus ennuyeuse était la compilation du code source et l'installation de mysql5.7, pour aucune autre raison - c'est très gênant, mais récemment, cela ne peut être évité en raison des besoins d'apprentissage. Il est principalement introduit dans Compiler et installer mysql5.7 à partir du code source sous centos7.
Environnement : MiniCentos7 (Adresse de téléchargement : https://www.centos.org/download/ )
Installer les packages de dépendances
yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison
Télécharger le package de code source correspondant
La compilation et l'installation de Mysql5.7 nécessitent la bibliothèque boost , téléchargez-le depuis le site officiel ici Package source contenant boost
L'adresse de téléchargement est fournie ici
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz
Ajouter un utilisateur
useradd -s /sbin/nologin mysql
Créez le répertoire requis et changez le propriétaire en mysql
mkdir -p /data/mysql/data chown -R mysql:mysql /data/mysql
Extrayez le mysql téléchargé dans le / Répertoire usr/local/mysql
tar -zxvf mysql-boost-5.7.25.tar.gz -C /usr/local/mysql/
Basculez vers le répertoire /usr/local/mysql, compilez et installez
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make && make install
La structure du répertoire /usr/local/mysql installée
Modifier /etc/my.cnf (Créez-le s'il n'existe pas)
Le contenu d'un fichier de configuration de mon côté est le suivant
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock user = mysql basedir = /usr/local/mysql datadir = /data/mysql/data pid-file = /data/mysql/mysql.pid log_error = /data/mysql/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysql/mysql-slow.log skip-external-locking key_buffer_size = 32M max_allowed_packet = 1024M table_open_cache = 128 sort_buffer_size = 768K net_buffer_length = 8K read_buffer_size = 768K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M thread_cache_size = 16 query_cache_size = 16M tmp_table_size = 32M performance_schema_max_table_instances = 1000 explicit_defaults_for_timestamp = true #skip-networking max_connections = 500 max_connect_errors = 100 open_files_limit = 65535 log_bin=mysql-bin binlog_format=mixed server_id = 232 expire_logs_days = 10 early-plugin-load = "" default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_buffer_pool_size = 128M innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 32M sort_buffer_size = 768K read_buffer = 2M write_buffer = 2M
Le contenu de configuration ci-dessus n'est pas nécessaire et peut être ajusté en conséquence en fonction de la situation réelle !
Changez l'utilisateur et le groupe du répertoire d'installation en mysql
chown -R mysql:mysql mysql
Changez l'utilisateur et le groupe du répertoire de données de la base de données en mysql (répertoire de données de la base de données : /data/mysql/data), la méthode est la même que ci-dessus !
Remarque : / data/mysql/data Le répertoire doit être vide
Initialize mysql
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
Remarque : il est facile d'avoir des problèmes à cette étape. Vous devez ajouter les paramètres ci-dessus lors de l'initialisation, et /data/mysql/ avant d'effectuer cette étape. . Le répertoire data doit être vide ; les répertoires basedir et datadir spécifiés ici doivent être cohérents avec les répertoires configurés dans /etc/my.cnf.
Copiez le fichier de configuration exécutable
cp mysql.server /etc/init.d/mysqld
Remarque : certains articles d'internautes écriront dans cette étape qu'ils copient my-default.cnf du répertoire /usr/local/mysql/support-files vers /etc/. fichier de configuration my.cnf, je n'ai pas ce fichier ici, j'ai donc configuré un fichier my.cnf directement dans le processus de configuration.
Démarrage
service mysqld start
Remarque : Cette étape est également celle où des problèmes peuvent facilement survenir ici, ne paniquez pas. Regardez le contenu du journal des erreurs MySQL. Généralement, les invites dans l'erreur MySQL. le journal sera parfait pour résoudre les problèmes.
Testez la connexion
./mysql -hlocalhost -uroot -p
Vous pouvez vous connecter avec succès sans mot de passe
Modifiez les variables d'environnement
Ajoutez une nouvelle ligne dans /etc/profile
PATH=/usr/local/mysql/bin:$PATH
Enregistrez et quittez
source /etc/profile
Définissez le démarrage automatique au démarrage
systemctl enable mysqld
Apprentissage recommandé : "tutoriel vidéo mysql"
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!