Detaillierte Erklärung zum Kompilieren und Installieren von MySQL 5.6 auf CentOS und zum Installieren mehrerer MySQL-Instanzen

Detaillierte Erklärung zum Kompilieren und Installieren von MySQL 5.6 auf CentOS und zum Installieren mehrerer MySQL-Instanzen

--1. Erstellen Sie eine neue Gruppe und einen neuen Benutzer für MySQL

# useradd -M -s /sbin/nologin mysql

--2. Installieren Sie die erforderlichen Bibliotheken und Compiler

# yum installiere ncurses-devel openssl-devel cmake -y

--3. Entpacken

# tar zxvf mysql-5.6.35.tar.gz
# cd mysql-5.6.35

--4. Kompilieren und installieren

# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/usw \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=alle \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_SSL=System
# machen
# make installieren

--5. Kopieren Sie die Vorlage als Konfigurationsdatei

# cp support-files/my-default.cnf /etc/my.cnf

--6. MySQL-Berechtigungen festlegen

# chown -R mysql.mysql /usr/local/mysql/

--7. MySQL-Datenbank initialisieren

# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
# chown -R root /usr/local/mysql/
# chown -R mysql /usr/local/mysql/data/


--8. Richten Sie MySQL so ein, dass es beim Booten automatisch gestartet wird

# cp support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig mysqld ein

--9. Testen und Ausführen von MySQL

#service mysqld starten

--10. Ändern Sie das MySQL-Administratorkennwort

#/usr/local/mysql/bin/mysqladmin -u root password 'Festzulegendes Passwort'

--11. Melden Sie sich bei MySQL mit dem Benutzer an

# /usr/local/mysql/bin/mysql -u root -p

--12. Umgebungsvariablen hinzufügen

# echo 'PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile
# Quelle /etc/Profil

CentOS 6.5 Minimale Kompilierung und Installation der MySQL 5.5.35-Konfiguration mehrerer Instanzen

1. Schalten Sie die Firewall aus

1234567 [root@mysql ~]# Dienst iptables stoppen
iptables: Ketten für Richtlinie ACCEPT festlegen: Filter [OK]
iptables: Firewall-Regeln leeren: [ OK ]
iptables: Module entladen: [ OK ]
[root@mysql ~]# chkconfig iptables off
[root@mysql ~]# chkconfig iptables --list
iptables 0:aus 1:aus 2:aus 3:aus 4:aus 5:aus 6:aus

2. Selinux ausschalten

12 [root@mysql ~]# setenforce 0
[root@mysql ~]# vim /etc/sysconfig/selinux

Ändern Sie die folgende Zeile;

SELINUX=deaktiviert
12 [root@mysql ~]# getenforce 
Permissiv

3. Installieren Sie MySQL-Abhängigkeitspakete und Kompilierungstools;

1234 [root@mysql ~]# yum installiere libaio-devel -y
[root@mysql ~]# yum install -y ncurses-devel
[root@mysql ~]# yum install -y gcc gcc-c++ 
[root@mysql ~]# yum install -y cmake

4. Vorbereitung vor der Installation;

4.1. Installationspfad:

1 [root@mysql ~]# mkdir /usr/local/mysql

4.2. Datenbankpfad:

1 [root@mysql ~]# mkdir /data/mysql -p

4.3. Benutzer und Benutzergruppen erstellen

12 [root@mysql ~]# groupadd mysql
[root@mysql ~]# useradd -r -g mysql -s /bin/false mysql

4.4. Erteilen Sie Berechtigungen für das Datenspeicherverzeichnis

1 [root@mysql ~]# chown mysql:mysql -R /data/mysql

5. Kompilieren und installieren Sie MySQL 5.5.35

1234567 [root@mysql ~]# yum install -y lrzsz
root@mysql ~]# mkdir /Paket
[root@mysql ~]# cd /Paket/
[root@mysql-Paket]# tar xf mysql-5.5.32.tar.gz 
[root@mysql-Paket]# cd mysql-5.5.32
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
[root@mysql mysql-5.5.32]# make && make install

6. Erstellen Sie einen Speicherort für Datenbankdateien mit mehreren Instanzen.

12345678 [root@mysql ~]# mkdir -p /data/{3306,3307}/data
[root@mysql ~]# Baum /Daten
/Daten
|-- 3306
| `-- Daten
`-- 3307
  `--data
4 Verzeichnisse, 0 Dateien

7. Ändern Sie die Konfigurationsdatei (my.cnf) wie folgt und legen Sie sie jeweils in den Verzeichnissen 3306 und 3307 ab.

123456789 [root@mysql 3306]# vim my.cnf 
[Kunde]
Port = 3306
Socket = /data/3306/mysql.sock
[mysqld]
Port = 3306
Socket = /data/3306/mysql.sock
Datenverzeichnis = /data/3306
Server-ID = 3306

8. Initialisieren Sie die Datenbank;

Hinweis: Sie müssen beim Initialisieren der Datenbank ein anderes Datenverzeichnis angeben

123 [root@mysql mysql-5.5.32]# cd /usr/local/mysql/
[root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306
[root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307

9. Starten Sie mehrere Instanzen. Das Startskript kann der Startdatei hinzugefügt werden.

12 [root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &  
[root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &

9.1. Überprüfen Sie den Port.

12345678 [root@mysql mysql]# netstat -tunlp
Aktive Internetverbindungen (nur Server)
Proto Recv-Q Send-Q Lokale Adresse Fremde Adresse Status PID/Programmname  
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 11621/mysqld    
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1266/sshd      
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11338/mysqld    
tcp 0 0 :::22 :::* LISTEN 1266/sshd      
udp 0 0 0.0.0.0:68 0.0.0.0:* 969/dhclient

10. Melden Sie sich bei einer Datenbank mit mehreren Instanzen an

12 [root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3306 -S /data/3306/mysql.sock
[root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3307 -S /data/3307/mysql.sock

11. Schließen Sie den MySQL-Multiinstanzmodus

12 [root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3306 -S /data/3306/mysql.sock herunterfahren  
[root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3307 -S /data/3307/mysql.sock herunterfahren
Katze ​/etc/meine.cnf 
[mysqld1]
Datenverzeichnis=/Daten/MySQL
socket=/tmp/mysql.sock
Benutzer=mysql
symbolische Links = 0
Namensauflösung überspringen
Server-ID = 1221
max_Verbindungen = 2000
binlog-ignore-db=mysql
binlog-ignorieren-db=test
binlog-ignore-db=informationsschema
binlog-ignore-db=Leistungsschema
innodb_buffer_pool_size = 2G
innodb_additional_mem_pool=16M
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=2
Zeichensatzserver = utf8
Sortierserver = utf8_general_ci
replicate_ignore_db = MySQL
Slave-Überspringfehler = alle
relay_log=/Daten/mysql/
[mysqld2]
Port = 3307
Server-ID = 1222
log-error=/tmp/mysqld2.log
Datenverzeichnis=/data/mysql_live
socket=/tmp/mysql2.sock
Benutzer=mysql
symbolische Links = 0
Namensauflösung überspringen
Zeichensatzserver = utf8
Sortierserver = utf8_general_ci
Max. Verbindungen=500
Standard-Speicher-Engine = INNODB
innodb_datei_pro_tabelle
log-bin=mysql-bin
relay-log-info-repository=TABELLE
master-info-repository=TABELLE
Ablaufdatum der Protokolle: 10
binlog_format=ZEILE
Transaktionsisolierung=READ-COMMITTED
binlog-ignore-db=mysql
binlog-ignorieren-db=test
binlog-ignore-db=informationsschema
binlog-ignore-db=Leistungsschema
slow_query_log=WAHR
slow_query_log_file=/tmp/mysqld_slow_query2.log
lange_Abfragezeit=3
replicate_ignore_db = MySQL
Slave-Überspringfehler = alle
[mysqld3]
Server-ID = 1223
Port = 3308
log-error=/tmp/mysqld3.log
Datenverzeichnis=/Daten/MySQL
socket=/tmp/mysql3.sock
Benutzer=mysql
symbolische Links = 0
Namensauflösung überspringen
Zeichensatzserver = utf8
Sortierserver = utf8_general_ci
Max. Verbindungen=500
Standard-Speicher-Engine = INNODB
innodb_datei_pro_tabelle
log-bin=mysql-bin
relay-log-info-repository=TABELLE
master-info-repository=TABELLE
Ablaufdatum der Protokolle: 10
binlog_format=ZEILE
Transaktionsisolierung=READ-COMMITTED
binlog-ignore-db=mysql
binlog-ignorieren-db=test
binlog-ignore-db=informationsschema
binlog-ignore-db=Leistungsschema
slow_query_log=WAHR
slow_query_log_file=/tmp/mysqld_slow_query3.log
lange_Abfragezeit=3
replicate_ignore_db = MySQL
Slave-Überspringfehler = alle
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-Datei=/data/mysql/mysqld.pid


<<:  Detaillierte Erläuterung der grundlegenden Docker-Netzwerkkonfiguration

>>:  Natives JS zum Erzielen eines nahtlosen Karusselleffekts

Artikel empfehlen

MySql5.7.21 Installationspunkte Datensatznotizen

Die heruntergeladene Version ist die Zip-Dekompri...

Können Sie alle Testfragen zum Erstellen der Webseite beantworten?

Fragen zum Webdesign. Können Sie alle beantworten...

Detaillierte Erklärung von JavaScript Reduce

Inhaltsverzeichnis Karte Filter manche jeder Inde...

Grundlegendes Nutzungs-Tutorial zur IPTABLES-Firewall unter LINUX

Vorwort Für Produktions-VPS mit öffentlicher IP w...

MariaDB-Remote-Login-Konfiguration und Problemlösung

Vorwort: Der Installationsvorgang wird nicht im D...

Tiefes Verständnis der JavaScript-Syntax und Codestruktur

Inhaltsverzeichnis Überblick Funktionalität und L...

HTML Tutorial: Sammlung häufig verwendeter HTML-Tags (4)

Verwandte Artikel: Anfänger lernen einige HTML-Ta...

So fragen Sie den minimal verfügbaren ID-Wert in der MySQL-Tabelle ab

Als ich mir heute die Laborprojekte ansah, stieß ...

Schritte der Docker-Lernmethode zum Erstellen des ActiveMQ-Nachrichtendienstes

Vorwort ActiveMQ ist der beliebteste und leistung...

Was ist ein MySQL-Index? Fragen Sie, wenn Sie es nicht verstehen

Inhaltsverzeichnis Überblick Vom Binärbaum zum B+...