Maison  >  Article  >  base de données  >  Explication détaillée de l'installation de MySQL sur CentOS

Explication détaillée de l'installation de MySQL sur CentOS

步履不停
步履不停original
2019-06-18 14:11:263162parcourir

Explication détaillée de linstallation de MySQL sur CentOS

Introduction

Récemment, un certain cloud a organisé un événement et a acheté un serveur pour l'étude et les tests quotidiens. La nouvelle machine n'a rien, et l'installation de certaines couramment utilisées. Le logiciel est inévitable, j'ai donc pensé à enregistrer le processus d'installation en détail, d'abord comme mémo, et ensuite comme référence pour les étudiants dans le besoin.

Il existe plusieurs façons courantes d'installer un logiciel sous Linux :

  • Compilation du code source

  • Décompressez le package compressé (généralement tar. gz)

  • Package d'installation compilé (RPM, DPKG, etc.)

  • Installation en ligne (YUM, APT, etc.)

La commodité des méthodes ci-dessus augmente progressivement, mais la polyvalence diminue. Par exemple, télécharger directement le package compressé pour la décompression, cette méthode nécessite généralement un travail de configuration supplémentaire, mais comme. tant que vous maîtrisez la méthode, chacune est fondamentalement applicable à toutes les plateformes. Bien que YUM soit simple, elle est limitée par la plateforme et le réseau. Si nécessaire, vous devez ajouter des sources YUM spécifiques.

Il est préférable de maîtriser plusieurs méthodes d'installation. En principe, utilisez la plus simple : YUM>RPM>tar.gz>Code source

Cet article présente MySQL sur CentOS Pour l'installation, le les principales étapes sont basées sur la documentation officielle de MySQL : dev.mysql.com/doc/refman/…

Afin de tester différentes méthodes d'installation, je l'ai parcouru plusieurs fois et installé et supprimé. , supprimé l'installation, chaque étape a été testée avec succès par moi-même, chaque commande a été exécutée par moi-même, vous pouvez l'utiliser en toute confiance

Arrêtons de discuter et revenons à l'histoire principale (c'est beaucoup de potins) ...)

1. MIAM

0 Supprimer le MySQL installé

Vérifiez MariaDB
shell> rpm -qa|grep mariadb mariadb-server-5.5.60-1.el7_5.x86_64 mariadb-5.5.60-1.el7_5.x86_64 mariadb-libs-5.5.60-1.el7_5.x86_64
Supprimer mariadb

S'il n'existe pas (le résultat de la vérification ci-dessus est vide), sautez l'étape

shell> rpm -e --nodeps mariadb-server shell> rpm -e --nodeps mariadb shell> rpm -e --nodeps mariadb-libs

En fait, vous pouvez l'installer dans yum sans supprimer mariadb. L'installation de MySQL écrasera celle existante. mariadb

Vérifier MySQL
shell> rpm -qa|grep mysql
Supprimer MySQL

S'il n'existe pas (le résultat de la vérification ci-dessus renvoie vide), ignorez l'étape

shell> rpm -e --nodeps xxx

1. Ajoutez le référentiel MySQL Yum

À partir de CentOS 7, MariaDB devient le package d'installation de base de données par défaut dans la source Yum. C'est-à-dire que si vous utilisez yum pour installer MySQL sur les systèmes CentOS 7 et supérieurs, MariaDB (une branche de MySQL) sera installée par défaut. Si vous souhaitez installer la version officielle de MySQL, vous devez utiliser la source Yum fournie par MySQL.

Télécharger la source MySQL

Adresse du site officiel : dev.mysql.com/downloads/r…

Afficher la version du système :

shell> cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)

Sélectionnez la version correspondante à télécharger. Par exemple, pour CentOS 7, l'adresse de téléchargement de la dernière source Yum sur le site officiel est : dev.mysql.com/get/mysql80…

shell> wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
Installation des sources MySQL
shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpm

Par exemple, la dernière installation des sources MySQL sur CentOS7 :

shell> sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
Vérifiez si l'installation a réussi

Après une exécution réussie, deux fichiers repo seront générés dans le répertoire /etc/yum.repos.d/mysql-community.repo et mysql-community-source.repo

et vous pourrez voir les ressources liées à MySQL via yum repolist

shell> yum repolist enabled | grep "mysql.*-community.*" !mysql-connectors-community/x86_64 MySQL Connectors Community                108 !mysql-tools-community/x86_64      MySQL Tools Community                      90 !mysql80-community/x86_64          MySQL 8.0 Community Server                113

2. Sélectionnez la version MySQL <.>

Utilisez le référentiel MySQL Yum pour installer MySQL, la valeur par défaut sera Sélectionnez la dernière version stable. Par exemple, si vous installez via la source MySQL ci-dessus, l'installation par défaut sélectionnera la version MySQL 8.0. cette version, vous pouvez ignorer cette étape directement. Sinon, par exemple, je souhaite installer la version MySQL5 ici 7, vous devez "changer de version" :

Afficher toutes les versions de MySQL dans MySQL Yum actuel. Dépôt (chaque version est dans un sous-dépôt différent)
shell> yum repolist all | grep mysql
Changer de version
shell> sudo yum-config-manager --disable mysql80-community shell> sudo yum-config-manager --enable mysql57-community
En plus d'utiliser yum-config-manager, vous pouvez également modifier directement le

fichier /etc/yum.repos.d/mysql-community.repo

enabled=0 désactiver

[mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
enabled=1 activer

# Enable to use MySQL 5.7 [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
vérifier Entrepôt MySQL actuellement activé
shell> yum repolist enabled | grep mysql

Si plusieurs entrepôts sont activés en même temps , la dernière version sera sélectionnée lors de l'installation

3 Installer MySQL

shell> sudo yum install mysql-community-server

la commande installera le serveur MySQL (mysql-community-server) et ses dépendances requises et associées. composants, notamment mysql-community-client, mysql-community-common, mysql-community-libs, etc.

Si la bande passante n'est pas suffisante, cette étape prendra beaucoup de temps, veuillez attendre patiemment~

4. Démarrez MySQL

Démarrer
shell> sudo systemctl start mysqld.service
CentOS 6 :

shell> sudo service mysqld start
Afficher l'état
shell> sudo systemctl status mysqld.service
CentOS 6 :

shell> sudo service mysqld status
arrêter
shell> sudo systemctl stop mysqld.service
CentOS 6 :

shell> sudo service mysqld stop
redémarrer
shell> sudo systemctl restart mysqld.service
CentOS 6 :

shell> sudo service mysqld restart
5. Changer le mot de passe

Mot de passe initial
MySQL créera un compte super administrateur

après son premier démarrage, et le mot de passe initial est stocké dans le fichier journal : root@localhost

shell> sudo grep 'temporary password' /var/log/mysqld.log
Changez le mot de passe par défaut
shell> mysql -uroot -p
rrree
L'invite ci-dessus apparaît car le mot de passe est trop simple. La solution est la suivante :

  1. 使用复杂密码,MySQL默认的密码策略是要包含数字、字母及特殊字符;

  2. 如果只是测试用,不想用那么复杂的密码,可以修改默认策略,即validate_password_policy(以及validate_password_length等相关参数),使其支持简单密码的设定,具体方法可以自行百度;

  3. 修改配置文件/etc/my.cnf,添加validate_password=OFF,保存并重启MySQL

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec)

6、允许root远程访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;

7、设置编码为utf8

查看编码
mysql> SHOW VARIABLES LIKE 'character%';
设置编码

编辑/etc/my.cnf,[mysqld]节点增加以下代码:

[mysqld] collation-server=utf8_unicode_ci init-connect='SET NAMES utf8'

8、设置开机启动

shell> systemctl enable mysqld shell> systemctl daemon-reload

二、RPM

除安装过程外,其他步骤和yum方式安装相同,不再赘述

0、删除已旧版本

1、下载MySQL安装包

下载地址:dev.mysql.com/downloads/m…

选择对应的版本:

Explication détaillée de l'installation de MySQL sur CentOS

shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

2、安装MySQL

解压(解打包)
shell> tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar mysql-community-embedded-devel-5.7.26-1.el7.x86_64.rpm mysql-community-libs-5.7.26-1.el7.x86_64.rpm mysql-community-embedded-5.7.26-1.el7.x86_64.rpm mysql-community-test-5.7.26-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-devel-5.7.26-1.el7.x86_64.rpm mysql-community-client-5.7.26-1.el7.x86_64.rpm mysql-community-server-5.7.26-1.el7.x86_64.rpm

我们主要安装的是这四个(如果有需要也可以一并安装其它的):

mysql-community-libs-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-client-5.7.26-1.el7.x86_64.rpm mysql-community-server-5.7.26-1.el7.x86_64.rpm

如果不想下载rpm-bundle,官网也提供单独的rpm下载链接

安装

各rpm包是有依赖关系的,所以需要按照一定顺序进行安装,安装期间如果提示缺少哪些依赖也要先安装相应的包:

shell> rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm shell> rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm shell> rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm shell> rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

还有一种简单的方式,可以自动处理各个包之间的依赖关系并自动下载缺少的依赖:

shell> yum install mysql-community-{server,client,common,libs}-*

注意:上面的yum install命令需要在tar解压之后的各个rpm包所在目录内执行,否则就变成yum方式安装了,需要配置MySQL的yum源并且速度很慢,还要当前机器支持外网访问

3、设置

三、tar.gz

0、删除旧版本

1、下载

下载地址:dev.mysql.com/downloads/m…

选择对应的版本:

Explication détaillée de l'installation de MySQL sur CentOS

shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

2、安装&配置:

依赖

MySQL依赖libaio库,如果没有先安装一下:

shell> yum install libaio
创建mysql用户

不需要登录的一个系统账号,启动MySQL服务时会使用该账号

shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false mysql
解压并创建链接
shell> cd /usr/local shell> tar zxvf /path/to/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz shell> ln -s mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
创建mysql-files目录

这一步并不是必须的,可以设置secure_file_priv的值指向该目录(用于限制数据导入导出操作的目录)

shell> cd mysql shell> mkdir mysql-files shell> chown mysql:mysql mysql-files shell> chmod 750 mysql-files
初始化
shell> bin/mysqld --initialize --user=mysql

如果初始化时报错如下:

error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

是因为libnuma没有安装(或者默认安装的是32位),我们这里需要64位的:

shell> yum install numactl.x86_64

执行完后重新初始化即可 初始化成功后返回结果中有一行包含初始密码,第一次登录时要用到它:

A temporary password is generated for root@localhost: 8M0ary878s*U
启用SSL(非必须)
shell> bin/mysql_ssl_rsa_setup
启动
shell> bin/mysqld_safe --user=mysql &

查看进程可以看到一些默认参数,可以在配置文件中修改这些参数

shell> ps -ef | grep mysql root     14604 12719  0 00:03 pts/0    00:00:00 /bin/sh bin/mysqld_safe --user=mysql mysql    14674 14604  0 00:03 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=VM_2_24_centos.err --pid-file=VM_2_24_centos.pid
设置环境变量

避免每次执行mysql命令都要加上路径,在/etc/profile中添加:

export PATH=$PATH:/usr/local/mysql/bin
设置为服务
shell> cp support-files/mysql.server /etc/init.d/mysqld shell> service mysqld start|stop|restart|status
开机启动
shell> chkconfig --add mysqld shell> chkconfig --list mysqld mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关

其他配置与yum、rpm相同,不再赘述

四、源码安装

就别费这个劲了吧...

结束语

我们不是Linux运维专家,也不是MySQL专家,生在这个年代也不知算是幸福还是不幸,线上的环境已经越来越少有人(主要指平时写代码的人)手动去搞这些数据库、中间件的安装配置了,为什么呢?因为各种云产品实在是太方便了呀,一般的公司也不会差这几个钱,既方便又稳定,何乐而不为呢~但是我们自己搞一搞用于自己测试还是必要的,而且还有不少公司的开发环境、测试环境偶尔还是需要手动搞一下的,当然,还有那些个自己搞机房的巨头们。

那我们既然不是专家,上面所写的内容如果有纰漏也是在所难免的,如果被看到了还希望能够及时批评指正~

更多MySQL相关技术文章,请访问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