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

Detaillierte Anweisungen zur Installation von SuPHP auf CentOS 7.2

Standardmäßig wird PHP unter CentOS 7 als Apache ...

MySQL-Abfragebaumstrukturmethode

Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...

Detailliertes Beispiel für die JSON-Analyse mit MySQL (5.6 und darunter)

MySQL (5.6 und darunter) analysiert JSON #json-An...

MySQL-Platzhalter (erweiterte SQL-Filterung)

Inhaltsverzeichnis Lassen Sie uns zunächst kurz P...

Beschreiben Sie kurz den Unterschied zwischen MySQL und Oracle

1. Oracle ist eine große Datenbank, während MySQL...

CSS zum Erzielen eines dynamischen Schaltflächeneffekts mit Partikeln

Ursprünglicher Link https://github.com/XboxYan/no...

jQuery-Plugin zum Erzielen eines Code-Rain-Effekts

In diesem Artikel wird der spezifische Code des j...

Schritte der MySQL-Methode zum Bestimmen, ob es sich um eine Teilmenge handelt

Inhaltsverzeichnis 1. Problem 2. Lösung Option 1:...

Vue implementiert Countdown-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Ein vollständiges Tutorial zur Verwendung der Axios-Kapselung in Vue

Vorwort Heutzutage wird in Projekten häufig die A...