Kürzlich veranstaltete eine bestimmte Cloud eine Veranstaltung und kaufte einen Server zum täglichen Lernen und Testen. Die neue Maschine hat nichts, und die Installation einiger wird häufig verwendet Software ist unvermeidlich, daher habe ich mir überlegt, den Installationsprozess im Detail aufzuzeichnen, erstens als Notiz und zweitens als Referenz für Studierende in Not.
Es gibt mehrere gängige Möglichkeiten, Software unter Linux zu installieren:
Kompilierung des Quellcodes
Dekomprimieren Sie das komprimierte Paket (normalerweise tar. gz)
Kompiliertes Installationspaket (RPM, DPKG usw.)
Online-Installation (YUM, APT usw.)
Der Komfort der oben genannten Methoden nimmt allmählich zu, aber die Vielseitigkeit nimmt ab. Beispielsweise erfordert das direkte Herunterladen des komprimierten Pakets zur Dekomprimierung im Allgemeinen einige zusätzliche Konfigurationsarbeiten Solange Sie die Methode beherrschen, ist sie grundsätzlich auf alle Plattformen anwendbar. Obwohl YUM einfach ist, ist sie durch die Plattform und das Netzwerk begrenzt. Bei Bedarf müssen Sie einige spezifische YUM-Quellen hinzufügen.
Es ist am besten, mehrere Installationsmethoden zu beherrschen. Im Prinzip verwenden Sie die einfachste: YUM>RPM>tar.gz>Quellcode
Dieser Artikel stellt MySQL unter CentOS vor Die Hauptschritte basieren auf der offiziellen MySQL-Dokumentation: dev.mysql.com/doc/refman/…
Um verschiedene Installationsmethoden zu testen, habe ich es mehrmals durchgegangen und installiert und löschte es. , löschte die Installation, jeder Schritt wurde von mir erfolgreich getestet, jeder Befehl wurde von mir selbst ausgeführt, Sie können es mit Zuversicht verwenden
Hören wir auf zu chatten und kehren zur Hauptgeschichte zurück (dies ist viel Klatsch) ...)
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
MySQL prüfen
shell> rpm -e --nodeps mariadb-server shell> rpm -e --nodeps mariadb shell> rpm -e --nodeps mariadb-libsMySQL löschenWenn es nicht existiert (das obige Prüfergebnis gibt leer zurück), überspringen Sie Schritt
shell> rpm -qa|grep mysql
Ab CentOS 7 wird MariaDB zum Standard-Datenbankinstallationspaket in der Yum-Quelle. Das heißt, wenn Sie yum verwenden, um MySQL auf Systemen mit CentOS 7 und höher zu installieren, wird MariaDB (ein Zweig von MySQL) standardmäßig installiert. Wenn Sie die offizielle MySQL-Version installieren möchten, müssen Sie die von MySQL bereitgestellte Yum-Quelle verwenden.
MySQL-Quelle herunterladenSystemversion anzeigen:Offizielle Website-Adresse:
dev.mysql.com/downloads/r…
shell> rpm -e --nodeps xxxWählen Sie die entsprechende Version zum Herunterladen aus. Für CentOS 7 lautet die Download-Adresse der neuesten Yum-Quelle auf der offiziellen Website beispielsweise: dev.mysql.com/get/mysql80…
shell> cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)Installation der MySQL-Quelle
shell> wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmZum Beispiel die neueste MySQL-Quelleninstallation unter CentOS7:
shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpmÜberprüfen Sie, ob die Installation erfolgreich istNach erfolgreicher Ausführung Es werden zwei Repo-Dateien im
-Verzeichnis
und generiert und Sie können MySQL-bezogene Ressourcen über /etc/yum.repos.d/
mysql-community.repo
shell> sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
mysql-community-source.repo
2 anzeigen. Wählen Sie die MySQL-Version Verwenden Sie MySQL Yum Repository, um MySQL zu installieren. Wenn Sie beispielsweise über die MySQL-Quelle installieren, wird standardmäßig die MySQL 8.0-Version ausgewählt Bei dieser Version können Sie diesen Schritt direkt überspringen. Wenn Sie beispielsweise MySQL5 Version 7 installieren möchten, müssen Sie „die Version wechseln“: 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
shell> yum repolist all | grep mysqlZusätzlich zur Verwendung von yum-config-manager können Sie die
shell> sudo yum-config-manager --disable mysql80-community shell> sudo yum-config-manager --enable mysql57-community
[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
/etc/yum.repos.d/mysql-community.repo
aktuell aktiviertes MySQL-Warehouse prüfen # 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-mysqlWenn mehrere Warehouses gleichzeitig aktiviert sind , die neueste Version wird während der Installation ausgewählt
shell> yum repolist enabled | grep mysql
Der Befehl installiert den MySQL-Server (mysql-community-server) und seine erforderlichen Abhängigkeiten und zugehörigen Komponenten , einschließlich MySQL-Community-Client, MySQL-Community-Common, MySQL-Community-Libs usw. Wenn die Bandbreite nicht ausreicht, wird dieser Schritt lange dauern, bitte warten Sie geduldig~
Start
shell> sudo yum install mysql-community-server
CentOS 6:
shell> sudo systemctl start mysqld.service
shell> sudo service mysqld start
shell> sudo systemctl status mysqld.service
Stopp
shell> sudo service mysqld status
shell> sudo systemctl stop mysqld.service
Neustart
shell> sudo service mysqld stop
shell> sudo systemctl restart mysqld.service
5. Ändern Sie das Passwort
MySQL erstellt nach dem ersten Start ein Superadministratorkonto
und das anfängliche Passwort wird in der Protokolldatei gespeichert:shell> sudo service mysqld restart
shell> sudo grep 'temporary password' /var/log/mysqld.logrrree
使用复杂密码,MySQL默认的密码策略是要包含数字、字母及特殊字符;
如果只是测试用,不想用那么复杂的密码,可以修改默认策略,即validate_password_policy
(以及validate_password_length
等相关参数),使其支持简单密码的设定,具体方法可以自行百度;
修改配置文件/etc/my.cnf
,添加validate_password=OFF
,保存并重启MySQL
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
mysql> SHOW VARIABLES LIKE 'character%';
编辑/etc/my.cnf,[mysqld]节点增加以下代码:
[mysqld] collation-server=utf8_unicode_ci init-connect='SET NAMES utf8'
shell> systemctl enable mysqld shell> systemctl daemon-reload
除安装过程外,其他步骤和yum方式安装相同,不再赘述
略
下载地址:dev.mysql.com/downloads/m…
选择对应的版本:
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
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源并且速度很慢,还要当前机器支持外网访问
略
略
下载地址:dev.mysql.com/downloads/m…
选择对应的版本:
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
MySQL依赖libaio库,如果没有先安装一下:
shell> yum install libaio
不需要登录的一个系统账号,启动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
这一步并不是必须的,可以设置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
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教程栏目进行学习!
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Installation von MySQL unter CentOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!