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

黄舟
Libérer: 2017-03-11 13:59:00
original
1774 Les gens l'ont consulté

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*
Copier après la connexion

2. Fermez iptables et SELINUX

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
Copier après la connexion

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

. 🎜>
# su -
# mkdir ~/src
# cd src
# wget //m.sbmmt.com/
# wget //m.sbmmt.com/
Copier après la connexion
1. Téléchargez le package de compilation

2. Travail de configuration initial avant l'installation :
# useradd mysql
Copier après la connexion
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
Copier après la connexion
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
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion
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
-------------------------------------------------------
Copier après la connexion

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
Copier après la connexion
6. au fichier d'en-tête du système
# echo "/usr/local/mysql3306/lib" >> /etc/ld.so.conf.d/mysql.conf
# ldconfig
Copier après la connexion

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
Copier après la connexion


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
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion
# vi /etc/init.d/mysqld3006
Copier après la connexion
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 &
--------------------------------------------
Copier après la connexion


Configuration de la base de données deux :

# vi /etc/init.d/mysqld3007
Copier après la connexion
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 &
--------------------------------------------
Copier après la connexion


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启动
Copier après la connexion
10. Démarrez mysql
# chkconfig --add mysqld3307  
# chkconfig --level 35 mysqld3307 on
Copier après la connexion

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

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

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
Copier après la connexion

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 #连接数据库
Copier après la connexion
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 #连接数据库
Copier après la connexion


13. Test du port :
# mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456
Copier après la connexion

OK, c'est fait !
#lsof -i:3306
#lsof -i:3307
Copier après la connexion


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
Copier après la connexion
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
Copier après la connexion
Exécuter la commande pendant l'installation

Le message d'erreur est :


cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld3307
Copier après la connexion
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
Copier après la connexion

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

Le message d'erreur est :

service mysqld3307 start
Copier après la connexion
Pour autoriser les fichiers correspondants à ce moment, exécutez la commande


env: /etc/init.d/mysqld3307: Permission denied
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal