Maison  >  Article  >  base de données  >  Comment compiler et installer MySQL dans Centos7

Comment compiler et installer MySQL dans Centos7

藏色散人
藏色散人original
2021-12-28 10:06:193396parcourir

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.

Comment compiler et installer MySQL dans Centos7


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/ )

Installation

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

Comment compiler et installer MySQL dans Centos7
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

Comment compiler et installer MySQL dans Centos7

make && make install

Comment compiler et installer MySQL dans Centos7
La structure du répertoire /usr/local/mysql installée
Comment compiler et installer MySQL dans Centos7

Configuration

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

Comment compiler et installer MySQL dans Centos7

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

Comment compiler et installer MySQL dans Centos7

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

Comment compiler et installer MySQL dans Centos7

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

Comment compiler et installer MySQL dans Centos7

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!

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