In diesem Artikel wird hauptsächlich das detaillierte Tutorial zur Installation von Mysql5.7.19 auf Centos7 unter Linux vorgestellt.
1. Laden Sie MySQL herunter
2. Wählen Sie das Quellcodepaket aus und klicken Sie, um die allgemeine Version herunterzuladen
Sie können herunterladen es direkt ohne Anmeldung
3. Entpacken und kompilieren
tar -zxvf mysql-5.7.19.tar.gz cd mysql-5.7.19.tar.gz
Erstellen Datenverzeichnis mkdir -p /data/mysql
Zuerst mit cmake kompilieren, müssen Sie zuerst yum installieren
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库是必需安装的
Nach der Kompilierungmake && make install
A lange warten....Dann ist die Installation abgeschlossen
Nachdem die Installation abgeschlossen ist, befindet sich unter dem Pfad /usr/local/ ein Verzeichnis mysql. Dieses Verzeichnis ist der Pfad, in dem ich die Einstellungen kompiliert und installiert habe -
DCMAKE_INSTALL_PREFIX=/usr/local/mysql/
Im Allgemeinen erstellen wir aus Sicherheitsgründen einen MySQL-Benutzer und eine MySQL-Gruppe und führen die folgenden Befehle aus
#添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql
MySQL-Berechtigungen erteilen
chown -R mysql:mysql mysql #添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql
MySQL-Berechtigungen erteilen
chown -R mysql:mysql mysql
4. Konfigurieren Sie als Nächstes die Startrichtung und legen Sie die Startrichtung
Konfiguration/ect/my.cnf
fest. Wenn keine my.cnf vorhanden ist, können Sie selbst eine neue erstellen, nur als Referenz
[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
Führen Sie dann die Initialisierungsdatenbankanweisung aus:
Hinweismysql_install_db
Es wird nicht mehr empfohlen, es zu verwenden. Es wird empfohlen, mysqld –initialize zu verwenden vollständige Instanzinitialisierung.
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
Dieser Schritt ist sehr wichtig, wenn Sie die Datenbank direkt ohne Initialisierung starten, wird ein Fehler gemeldet
Der Server wurde ohne beendet Aktualisieren der PID-Datei (/data/mysql/mysql.pid).
Wenn die Initialisierung fehlschlägt oder der folgende Fehler gemeldet wird, müssen Sie zuerst Ihr /data/mysql-Verzeichnis löschen, da sich Daten unter mysql befinden Verzeichnis wird die Initialisierungsausführung abgebrochen.
2017-08-29T13:39:47.241469Z 0 [FEHLER] --initialize angegeben, aber das Datenverzeichnis enthält Dateien. Abbruch.2017-08-29T13:39:47.241536Z 0 [FEHLER] Abbruch
Löschen und dann neu initialisieren
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
Jetzt können Sie MySQL starten
ervice mysqld start
Anmeldetest
/usr/local/mysql/bin/mysql -uroot -
Da die Initialisierung --initialize-insecure
standardmäßig kein Passwort hat, können Sie das Passwort einfach bestätigen, ohne es einzugeben
Wenn Sie sich anmelden, melden Sie einen Fehler
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Überprüfen Sie, ob Sie die Datenbank erfolgreich gestartet haben oder nicht ps -ef | grep mysql
Sehen Sie, ob der Prozess gestartet wurde
Ein leeres Passwort ist nicht sicher, daher müssen Sie im folgenden Befehl ein Passwort festlegen. Mein Passwort ist auf „root“ eingestellt. Sie können es selbst ändern 🎜>
[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;"
Zusammenfassung
Das obige ist der detaillierte Inhalt vonTutorial für Centos7 zur Installation von Mysql5.7.19 unter Linux (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!