Cet article présente principalement le tutoriel détaillé d'installation de Mysql5.7.19 sur Centos7 sous Linux. Les amis qui en ont besoin peuvent s'y référer
1 Télécharger mysql
2. Sélectionnez le package de code source et cliquez pour télécharger la version générale
Vous pouvez télécharger directement sans vous connecter
3 Décompressez et compilez
tar -zxvf mysql-5.7.19.tar.gz cd mysql-5.7.19.tar.gz
Créer répertoire de données mkdir -p /data/mysql
Compilez d'abord avec cmake. Sans cette commande, vous devez d'abord installer yum
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ #这个是编译安装之后的mysql目录所在地,可自行更改 -DMYSQL_DATADIR=/data/mysql/ #这个指向数据目录 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/usr/local/mysql-5.7/conf/ -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DWITH_SSL=system -DWITH_ZLIB=system -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost #从MySQL 5.7.5开始Boost库是必需安装的
Après la compilationmake && make install
A longue attente....Ensuite, l'installation est terminée
Une fois l'installation terminée, il y aura un répertoire mysql sous le chemin /usr/local/. Ce répertoire est le chemin où j'ai compilé et installé les paramètres. -
DCMAKE_INSTALL_PREFIX=/usr/local/mysql/
Généralement pour des raisons de sécurité, nous allons créer un utilisateur mysql et un groupe mysql et exécuter les commandes suivantes
#添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql
Donner des autorisations MySQL
chown -R mysql:mysql mysql #添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql
Donner des autorisations MySQL
chown -R mysql:mysql mysql
4. Configurez ensuite la direction de démarrage et définissez la direction de démarrage
Configuration/ect/my.cnf
, s'il n'y a pas de my.cnf, vous pouvez en créer un nouveau par vous-même, pour référence seulement
[client] ort = 3306 ocket = /tmp/mysql.sock default-character-set = utf8mb4 [mysqld] ort = 3306 ocket = /tmp/mysql.sock asedir = /usr/local/mysql datadir = /data/mysql id-file = /data/mysql/mysql.pid user = mysql ind-address = 0.0.0.0 erver-id = 1 init-connect = 'SET NAMES utf8mb4' character-set-server = utf8mb4 #skip-name-resolve #skip-networking ack_log = 300 max_connections = 1000 max_connect_errors = 6000 open_files_limit = 65535 table_open_cache = 128 max_allowed_packet = 4M inlog_cache_size = 1M max_heap_table_size = 8M tmp_table_size = 16M read_buffer_size = 2M read_rnd_buffer_size = 8M ort_buffer_size = 8M join_buffer_size = 8M key_buffer_size = 4M thread_cache_size = 8 query_cache_type = 1 query_cache_size = 8M query_cache_limit = 2M ft_min_word_len = 4 log_bin = mysql-bi inlog_format = mixed expire_logs_days = 30 log_error = /data/mysql/mysql-error.log low_query_log = 1 long_query_time = 1 low_query_log_file = /data/mysql/mysql-slow.log erformance_schema = 0 explicit_defaults_for_timestam #lower_case_table_names = 1 kip-external-locking default_storage_engine = InnoDB #default-storage-engine = MyISAM innodb_file_per_table = 1 innodb_open_files = 500 innodb_buffer_pool_size = 64M innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 2M innodb_log_file_size = 32M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 ulk_insert_buffer_size = 8M myisam_sort_buffer_size = 8M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 interactive_timeout = 28800 wait_timeout = 28800 [mysqldump] quick max_allowed_packet = 16M [myisamchk] key_buffer_size = 8M ort_buffer_size = 8M read_buffer = 4M write_buffer = 4M
Exécutez ensuite l'instruction d'initialisation de la base de données :
Remarquemysql_install_db
Il n'est plus recommandé de l'utiliser. Il est recommandé d'utiliser mysqld –initialize pour. initialisation complète de l'instance.
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
Cette étape est très importante si vous démarrez la base de données directement sans initialisation, une erreur sera signalée
ERREUR ! mise à jour du fichier PID (/data/mysql/mysql.pid).
Si l'initialisation échoue ou si l'erreur suivante est signalée, vous devez d'abord effacer votre répertoire /data/mysql car il y a des données sous mysql. répertoire, l’exécution de l’initialisation est interrompue.
2017-08-29T13:39:47.241469Z 0 [ERREUR] --initialize spécifié mais le répertoire de données contient des fichiers Abandon.2017-08-29T13:39:47.241536Z 0 [ERREUR] Abandon.
Effacer puis réinitialiser
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
Vous pouvez maintenant démarrer MySQL
ervice mysqld start
Test de connexion
/usr/local/mysql/bin/mysql -uroot -
Comme l'initialisation --initialize-insecure
n'a pas de mot de passe par défaut, vous pouvez simplement confirmer le mot de passe sans le saisir
Si vous vous connectez, signalez une erreur
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Vérifiez si vous avez démarré la base de données avec succès ou non ps -ef | grep mysql
Voyez si le processus est démarré
Un mot de passe vide n'est pas sûr, vous devez donc également définir un mot de passe. "root" dans la commande suivante consiste à définir la zone de mot de passe. Mon mot de passe est défini sur root. Vous pouvez le modifier vous-même
<. 🎜>[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by \"root\" with grant option;"[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by \"root\" with grant option;"
Résumé
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!