Heim  >  Artikel  >  Datenbank  >  Tutorial für Centos7 zur Installation von Mysql5.7.19 unter Linux (Bild)

Tutorial für Centos7 zur Installation von Mysql5.7.19 unter Linux (Bild)

黄舟
黄舟Original
2017-09-02 13:37:561755Durchsuche

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 🎜>


Dann melden Sie sich zum Testen an. Sobald die Passwortänderung erfolgreich war oder nicht, ist es geschafft!
[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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn