Heim > Datenbank > MySQL-Tutorial > Detaillierte Einführung in die MySQL-Centos-Installation mehrerer MySQL-Datenbankkonfigurationsbeispiele

Detaillierte Einführung in die MySQL-Centos-Installation mehrerer MySQL-Datenbankkonfigurationsbeispiele

黄舟
Freigeben: 2017-03-11 13:59:00
Original
1751 Leute haben es durchsucht

Linux-Betriebssystem: centOS6.5 64bit (System-Standardentwicklungspaket installiert)

Datenbank 1:
MYSQL-Version: mysql-5.0.56
PORT:3306
Systemverzeichnis: /usr/local/mysql3306
Datenbank 2:
MYSQL-Version: mysql-5.1.72
PORT:3307

Systemverzeichnis:/usr/local/mysql3307

1. Installieren Sie das Entwicklungspaket (verwenden Sie die Standard-CENTOS-Update-Quelle):

<pre name="code" class="plain"># yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl 
openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*
Nach dem Login kopieren

2. Schließen Sie iptables und SELINUX

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
Nach dem Login kopieren

Installieren Sie die MySQL-Datenbankinstanz

1. Laden Sie das Kompilierungspaket herunter

# su -
# mkdir ~/src
# cd src
# wget http://www.php.cn/
# wget http://www.php.cn/
Nach dem Login kopieren

2. Erstkonfigurationsarbeiten vor der Installation:

1). 2) .Erstellen Sie neue Daten- und Protokollunterverzeichnisse unter MySQL
# useradd mysql
Nach dem Login kopieren
3). Ändern Sie die Verzeichnisbesitzer- und Gruppenberechtigungen
# mkdir -p /usr/local/mysql{3306,3307}/data          
# mkdir -p /usr/local/mysql{3306,3307}/log
Nach dem Login kopieren
4). 🎜>
# chown -R mysql:mysql /usr/local/mysql{3306,3307}/data/
# chown -R mysql:mysql /usr/local/mysql{3306,3307}/log/
# chmod 750 /usr/local/mysql{3306,3307}/data      
# chmod 750 /usr/local/mysql{3306,3307}/log
Nach dem Login kopieren
3. Entpacken, kompilieren und installieren
Datenbank eins kompilieren:
# mkdir -p /usr/local/mysql{3306,3307}/etc
# chown -R mysql.mysql /usr/local/mysql{3306,3307}/etc
# mkdir -p /var/run/mysqld{3306,3307}
# chown -R mysql.mysql /var/run/mysqld{3306,3307}
# mkdir -p /var/lib/mysqld{3306,3307}
# chown -R mysql.mysql /var/lib/mysqld{3306,3307}
# cp /etc/my.cnf /usr/local/mysql{3306,3307}/etc
Nach dem Login kopieren

Datenbank zwei kompilieren:
# cd ~/src
# tar -zxvf mysql-5.0.56.tar.gz    
# cd mysql-5.0.56  
./configure --prefix=/usr/local/mysql3306 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3306/etc  
--localstatedir=/usr/local/mysql3306/data --with-tcp-port=3306 -enable-assembler --with-mysqld-ldflags=-all-static 
--with-charset=utf8 --with-extra-charsets=utf-8 -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap 
--with-unix-socket-path=/tmp/mysql3306.sock
# make
# make install
Nach dem Login kopieren
4 MySQL-Konfigurationselemente:
Datenbank eins, Konfiguration:
# cd ~/src
# tar -zxvf mysql-5.1.71.tar.gz    
# cd mysql-5.1.71
./configure --prefix=/usr/local/mysql3307 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3307/etc  
--localstatedir=/usr/local/mysql3307/data --with-tcp-port=3307 -enable-assembler --with-mysqld-ldflags=-all-static 
--with-charset=utf8 --with-extra-charsets=utf-8 -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap 
--with-unix-socket-path=/tmp/mysql3307.sock
# make
# make install
Nach dem Login kopieren

Datenbank zwei, Konfiguration:
# vi /usr/local/mysql3306/etc/my.cnf
-------------------------------------------------------
[mysqld]
datadir=/usr/local/mysql3306/data
socket=/tmp/mysql3306.sock
user=mysql
port=3306
pid-file=/var/lib/mysqld3306/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections= 16384
skip-name-resolve
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 3072
thread_cache_size = 256
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
net_buffer_length = 256M
thread_stack = 8M
query_cache_size = 128M
query_cache_limit = 2M
wait_timeout=7200
interactive_timeout=7200
#log
log-error=/usr/local/mysql3306/log/error.log
log=/usr/local/mysql3306/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql3306/log/slowquery.log
log-bin= /usr/local/mysql3306/log/bin.log
expire_logs_days = 15
sync_binlog = 1
max_binlog_cache_size = 4294967295
local-infile=0
default-storage-engine=INNODB 
[mysqld_safe]
log-error=/var/log/mysqld3306.log
pid-file=/var/run/mysqld3306/mysqld.pid
Nach dem Login kopieren
5. Fügen Sie den MySQL-Bibliotheksdateipfad zur Systembibliotheksdateisuche hinzu Pfad
Methode 1: Erstellen Sie direkt einen Softlink
# vi /usr/local/mysql3307/etc/my.cnf
-------------------------------------------------------
[mysqld]
datadir=/usr/local/mysql3307/data
socket=/tmp/mysql3307.sock
user=mysql
port=3307
pid-file=/var/lib/mysqld3307/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections= 16384
skip-name-resolve
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 3072
thread_cache_size = 256
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
net_buffer_length = 256M
thread_stack = 8M
query_cache_size = 128M
query_cache_limit = 2M
wait_timeout=7200
interactive_timeout=7200
#log
log-error=/usr/local/mysql3307/log/error.log
log=/usr/local/mysql3307/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql3307/log/slowquery.log
log-bin= /usr/local/mysql3307/log/bin.log
expire_logs_days = 15
sync_binlog = 1
max_binlog_cache_size = 4294967295
local-infile=0
default-storage-engine=INNODB
[mysqld_safe]
log-error=/var/log/mysqld3307.log
pid-file=/var/run/mysqld3307/mysqld.pid
-------------------------------------------------------
Nach dem Login kopieren

Methode 2: Verwenden Sie ldconfig, um die Systembibliothek zu importieren
# ln -s /usr/local/mysql3306/lib/mysql /usr/lib/mysql
Nach dem Login kopieren
6. Geben Sie die MySQL-Header-Datei aus zur System-Header-Datei
# echo "/usr/local/mysql3306/lib" >> /etc/ld.so.conf.d/mysql.conf
# ldconfig
Nach dem Login kopieren
Hinweis: Hier müssen Sie nur die Bibliotheksdatei einer MySQL-Instanz zur Systembibliothek hinzufügen. Es ist nicht erforderlich, mehrere

# ln -s /usr/local/mysql3306/include/mysql /usr/include/mysql
Nach dem Login kopieren
hinzuzufügen 7. Geben Sie den Installationspfad der entsprechenden Instanz ein. Initialisieren Sie die entsprechenden Konfigurationsskripte.


Datenbank-Eins-Konfiguration:

Datenbank-Zwei-Konfiguration:
# cd /usr/local/mysql3306
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
Nach dem Login kopieren
8 . Kopieren Sie das MySQL-Startskript in das Systemdienstverzeichnis und ändern Sie die Skriptkonfiguration
# cd /usr/local/mysql3307
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3307/data
Nach dem Login kopieren
Konfiguration der Datenbank eins:

# cp /usr/local/mysql3306/support-files/mysql.server /etc/init.d/mysqld3306
# cp /usr/local/mysql3307/support-files/mysql.server /etc/init.d/mysqld3307
Nach dem Login kopieren
Die in der Abbildung rot markierten Parameter Unten sind die hinzugefügten Parameter:
# vi /etc/init.d/mysqld3006
Nach dem Login kopieren
basedir=/usr/local/mysql3306
datadir=/usr/local/mysql3306/data
conf=/usr/local/mysql3306/etc/my.cnf
$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
--------------------------------------------
Nach dem Login kopieren

Konfiguration der Datenbank zwei:

Die im Bild unten rot markierten Parameter sind die hinzugefügten Parameter:
# vi /etc/init.d/mysqld3007
Nach dem Login kopieren
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
conf=/usr/local/mysql3307/etc/my.cnf
$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
--------------------------------------------
Nach dem Login kopieren

9. Systemstartelement-bezogene Konfigurationen
Datenbank eins Konfiguration:

Datenbank zwei Konfiguration:
# chkconfig --add mysqld3306  #添加开机启动服务
# chkconfig --level 35 mysqld3306 on  #设置mysql启动
Nach dem Login kopieren
10. Starten Sie MySQL
Datenbank eins starten:
# chkconfig --add mysqld3307  
# chkconfig --level 35 mysqld3307 on
Nach dem Login kopieren

Datenbank 2 starten:
# service mysqld3306 start
Nach dem Login kopieren
11 Fügen Sie die hinzu MySQL-Befehlssatz auf die globalen Systemvariablen
Hinweis: Wenn der MySQL-Client noch nicht auf dem System installiert wurde, können Sie ihn nach dem Importieren des kompilierten MySQL-Befehlssatzes in die globalen Systemvariablen
# service mysqld3307 start
Nach dem Login kopieren
verwenden der MySQL-Befehlssatz direkt ohne Verwendung des absoluten Pfadzugriffs


12. Richten Sie das erste Konto ein und melden Sie sich beim Backend an:

Datenbank eins:
# echo "PATH=$PATH:/usr/local/mysql3306/bin;export PATH" >> /etc/profile
# source /etc/profile
Nach dem Login kopieren

Datenbank zwei:
# /usr/local/mysql3306/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3306/bin/mysql -P3306 -S/tmp/mysql3306.sock -uroot -p123456 #连接数据库
Nach dem Login kopieren
Hinweis: Da die MySQL-Umgebungsvariable hinzugefügt wird, kann der MySQL-Befehl in Zukunft direkt im System-Backend verwendet werden. Anmelden ist der absolute Pfad Wird hier verwendet, um den Vorgang zu standardisieren
# /usr/local/mysql3307/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3307/bin/mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456 #连接数据库
Nach dem Login kopieren

13. Porttest:

# mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456
Nach dem Login kopieren
OK, erledigt!

#lsof -i:3306
#lsof -i:3307
Nach dem Login kopieren
IV , Problem


1. -bash: ./scripts/mysql_install_db: Keine solche Datei oder kein solches Verzeichnis

Die während des Installationsvorgangs gemeldete Fehlermeldung lautet:


Dies bedeutet, dass im MySQL-Installationsverzeichnis kein Skriptverzeichnis vorhanden ist. Zu diesem Zeitpunkt können Sie das Skriptverzeichnis im dekomprimierten Quellcode in das Installationsverzeichnis kopieren und den Befehl erneut ausführen.

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
Nach dem Login kopieren
2. cp: `/usr/local/mysql3307/support-files/mysql.server' kann nicht angegeben werden: Keine solche Datei oder kein solches Verzeichnis


Befehl während der Installation ausführen

-bash: ./scripts/mysql_install_db: No such file or directory
Nach dem Login kopieren

Die Fehlermeldung lautet:


Kopieren Sie das Verzeichnis „support-files“ im dekomprimierten Quellcode in das Installationsverzeichnis und führen Sie den Befehl erneut aus

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld3307
Nach dem Login kopieren

3. env: /etc/init.d/mysqld3307: Berechtigung verweigert

Führen Sie beim Starten der Datenbank den Befehl aus
cp: cannot stat `/usr/local/mysql3307/support-files/mysql.server&#39;: No such file or directory
Nach dem Login kopieren


Die Fehlermeldung lautet:

Um die entsprechenden Dateien zu diesem Zeitpunkt zu autorisieren, führen Sie den Befehl

service mysqld3307 start
Nach dem Login kopieren


aus und führen Sie den Befehl erneut aus, um den MySQL-Datenbankdienst service mysqld3307 start zu starten

env: /etc/init.d/mysqld3307: Permission denied
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die MySQL-Centos-Installation mehrerer MySQL-Datenbankkonfigurationsbeispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage