Maison >base de données >tutoriel mysql >Introduction détaillée à l'installation MySQL-Centos de plusieurs exemples de configuration de base de données MySQL

Introduction détaillée à l'installation MySQL-Centos de plusieurs exemples de configuration de base de données MySQL

黄舟
黄舟original
2017-03-11 13:59:001796parcourir

Système d'exploitation Linux : centOS6.5 64 bits (package de développement par défaut du système installé)

Base de données 1 :
Version MYSQL : mysql-5.0.56
PORT:3306
Répertoire système : /usr/local/mysql3306
Base de données 2 :
Version MYSQL : mysql-5.1.72
PORT:3307

Répertoire système :/usr/local/mysql3307

1. Installez le package de développement (utilisez la source de mise à jour CENTOS par défaut) :

<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. Fermez iptables et SELINUX

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

3. Installez l'instance de base de données mysql

. 🎜>
# su -
# mkdir ~/src
# cd src
# wget http://www.php.cn/
# wget http://www.php.cn/
1. Téléchargez le package de compilation

2. Travail de configuration initial avant l'installation :
# useradd mysql
1). 2) .Créez de nouveaux sous-répertoires de données et de journaux sous MySQL
# mkdir -p /usr/local/mysql{3306,3307}/data          
# mkdir -p /usr/local/mysql{3306,3307}/log
3). Modifiez le propriétaire du répertoire et les autorisations du groupe
# 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
4). Créez des répertoires liés à MySQL et configurez les autorisations. 🎜>
3. Décompressez, compilez et installez
# 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

Compilez la première base de données :

Compilez la base de données deux :
# 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. Éléments de configuration mysql :
# 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

Configuration de la base de données 1 :

Configuration de la base de données 2 :
# 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. Ajoutez le chemin du fichier de bibliothèque mysql à la recherche de fichiers de bibliothèque du système path
# 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
-------------------------------------------------------

Méthode 1 : Créer un lien symbolique directement

Méthode 2 : Utiliser ldconfig pour importer la bibliothèque système
# ln -s /usr/local/mysql3306/lib/mysql /usr/lib/mysql
6. au fichier d'en-tête du système
# echo "/usr/local/mysql3306/lib" >> /etc/ld.so.conf.d/mysql.conf
# ldconfig

Remarque : Ici, il vous suffit d'ajouter le fichier de bibliothèque d'une instance mysql à la bibliothèque système. Il n'est pas nécessaire d'en ajouter
# ln -s /usr/local/mysql3306/include/mysql /usr/include/mysql


plusieurs. 7. Saisissez le chemin d'installation de l'instance correspondante, Initialisez les scripts de configuration respectifs

Configuration de la base de données 1 :

Configuration de la base de données 2 :
# cd /usr/local/mysql3306
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
8. . Copiez le script de démarrage mysql dans le répertoire des services système et modifiez le script Configuration
# cd /usr/local/mysql3307
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3307/data

Base de données une configuration :
# cp /usr/local/mysql3306/support-files/mysql.server /etc/init.d/mysqld3306
# cp /usr/local/mysql3307/support-files/mysql.server /etc/init.d/mysqld3307
# vi /etc/init.d/mysqld3006
Les paramètres marqués en rouge sur la figure. ci-dessous se trouvent les paramètres ajoutés :
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 &
--------------------------------------------


Configuration de la base de données deux :

# vi /etc/init.d/mysqld3007
Les paramètres marqués en rouge dans l'image ci-dessous sont les paramètres ajoutés :
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. Configurations liées à l'élément de démarrage du système

Configuration de la base de données un :

Base de données deux configuration :
# chkconfig --add mysqld3306  #添加开机启动服务
# chkconfig --level 35 mysqld3306 on  #设置mysql启动
10. Démarrez mysql
# chkconfig --add mysqld3307  
# chkconfig --level 35 mysqld3307 on

Démarrage de la base de données 1 :

Démarrage de la base de données 2 :
# service mysqld3306 start
11 Ajouter le Commande mysql définie sur les variables globales du système
# service mysqld3307 start

Remarque : si le client mysql n'a pas encore été installé sur le système, vous pouvez Après avoir importé l'ensemble de commandes mysql compilé dans la variable globale du système

, vous pouvez utiliser la commande mysql définie directement sans utiliser l'accès au chemin absolu



12. Configurez le compte initial et connectez-vous au backend :
# echo "PATH=$PATH:/usr/local/mysql3306/bin;export PATH" >> /etc/profile
# source /etc/profile

Base de données 1 :

Base de données deux :
# /usr/local/mysql3306/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3306/bin/mysql -P3306 -S/tmp/mysql3306.sock -uroot -p123456 #连接数据库
Remarque : étant donné que la variable d'environnement mysql est ajoutée, la commande mysql peut être utilisée directement dans le backend du système à l'avenir, le chemin absolu est. utilisé ici pour standardiser le fonctionnement
# /usr/local/mysql3307/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3307/bin/mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456 #连接数据库


13. Test du port :
# mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456

OK, c'est fait !
#lsof -i:3306
#lsof -i:3307


IV , Problème

1. -bash : ./scripts/mysql_install_db : Aucun fichier ou répertoire de ce type


Le message d'erreur signalé lors du processus d'installation est :

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
Cela signifie qu'il n'y a pas de répertoire de scripts dans le répertoire d'installation de mysql. À ce stade, vous pouvez copier le répertoire de script dans le code source décompressé dans le répertoire d'installation et réexécuter la commande.


2. cp : impossible de stat `/usr/local/mysql3307/support-files/mysql.server' : aucun fichier ou répertoire de ce type

-bash: ./scripts/mysql_install_db: No such file or directory
Exécuter la commande pendant l'installation

Le message d'erreur est :


cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld3307
Copiez le répertoire support-files dans le code source décompressé dans le répertoire d'installation et réexécutez la commande


3. env : /etc/init.d/mysqld3307 : Autorisation refusée
cp: cannot stat `/usr/local/mysql3307/support-files/mysql.server&#39;: No such file or directory

Lors du démarrage de la base de données, exécutez la commande

Le message d'erreur est :

service mysqld3307 start
Pour autoriser les fichiers correspondants à ce moment, exécutez la commande


env: /etc/init.d/mysqld3307: Permission denied
et réexécutez la commande service mysqld3307 start pour démarrer le service de base de données MySQL


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn