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

黄舟
黄舟Original
2017-03-11 13:59:001747Durchsuche

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*

2. Schließen Sie iptables und SELINUX

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled

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/

2. Erstkonfigurationsarbeiten vor der Installation:

1). 2) .Erstellen Sie neue Daten- und Protokollunterverzeichnisse unter MySQL
# useradd mysql
3). Ändern Sie die Verzeichnisbesitzer- und Gruppenberechtigungen
# mkdir -p /usr/local/mysql{3306,3307}/data          
# mkdir -p /usr/local/mysql{3306,3307}/log
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
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

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

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

Methode 2: Verwenden Sie ldconfig, um die Systembibliothek zu importieren
# ln -s /usr/local/mysql3306/lib/mysql /usr/lib/mysql
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
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
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
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
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
Die in der Abbildung rot markierten Parameter Unten sind die hinzugefügten Parameter:
# vi /etc/init.d/mysqld3006
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 &
--------------------------------------------

Konfiguration der Datenbank zwei:

Die im Bild unten rot markierten Parameter sind die hinzugefügten Parameter:
# vi /etc/init.d/mysqld3007
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 &
--------------------------------------------

9. Systemstartelement-bezogene Konfigurationen
Datenbank eins Konfiguration:

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

Datenbank 2 starten:
# service mysqld3306 start
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
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

Datenbank zwei:
# /usr/local/mysql3306/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3306/bin/mysql -P3306 -S/tmp/mysql3306.sock -uroot -p123456 #连接数据库
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 #连接数据库

13. Porttest:

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

#lsof -i:3306
#lsof -i:3307
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
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

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

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


Die Fehlermeldung lautet:

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

service mysqld3307 start


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

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!

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