So installieren Sie die MySQL-Datenbank in einer Linux-Umgebung
1. Übersicht
Der Vorteil der MySQL-Binärinstallation besteht darin, dass sie in jedem Pfad installiert werden kann und eine gute Flexibilität bietet , ein Server kann auch mehrere MySQL-Instanzen installieren. Der Nachteil dieser Methode besteht darin, dass sie kompiliert wird, sodass die Leistung nicht so gut ist wie bei der aus dem Quellcode kompilierten Version und die Kompilierungsparameter nicht flexibel angepasst werden können. Wenn der Benutzer weder das einfachste, aber unflexible RPM-Paket noch ein komplexes und zeitaufwändiges Quellcodepaket installieren möchte, ist das kompilierte Binärpaket die beste Wahl.
2. Vorbereitung
2.1 Laden Sie das MySQL-Binärinstallationspaket herunter
Offizielle MySQL-Website: https://dev.mysql.com/downloads/ mysql /
Weil ich die Version mysql-8.0.23-linux-glibc2.12-x86_64.tar heruntergeladen habe, falls es die neueste Version gibt, Laden Sie es herunter. Die neueste Version ist in Ordnung.
2.2 Importieren Sie das MySQL-Binärinstallationspaket
Übertragen Sie das Installationspaket über das Xftp-Tool in das Paketverzeichnis des Linux-Systems:
#🎜 🎜#
--切换到安装目录 cd /app --解压xz压缩文件 tar -xvf /app/package/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
--把mysql-8.0.23-linux-glibc2.12-x86_64修改为mysql文件夹名称 mv /app/mysql-8.0.23-linux-glibc2.12-x86_64 /app/mysql
--在mysql根目录下创建data目录,用于存放数据 mkdir /app/mysql/data
MySQL-Benutzergruppe und MySQL-Benutzer erstellen
--创建mysql用户组和mysql用户 groupadd mysql useradd -g mysql mysql
MySQL-Verzeichnisberechtigungen ändern
--修改mysql目录权限 chown -R mysql.mysql /app/mysql/
Datenbank initialisieren
--先切换到mysql安装目录 cd /app/mysql --初始化数据库 bin/mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data
#🎜🎜 #
MySQL konfigurieren
--先切换到mysql.support-files目录 cd /app/mysql/support-files --在mysql/support-files创建文件my-default.cnf touch my-default.cnf --复制配置文件到/etc/my.cnf cp -a ./my-default.cnf /etc/my.cnf --编辑my.cnf vim /etc/my.cnf
[client] port=3306 socket=/tmp/mysql.sock [mysqld] port=3306 user=mysql socket=/tmp/mysql.sock basedir=/app/mysql datadir=/app/mysql/data
--编辑profile文件 vim /etc/profile --配置mysql环境变量 PATH=/data/mysql/bin:/data/mysql/lib:$PATH export PATH --使mysql环境变量生效 source /etc/profile --看环境变量是否生效 echo $PATH
cd /app/mysql/bin systemctl start mysqld or service mysql start
Beim Starten von MySQL tritt möglicherweise der folgende Fehler auf:
Mysqld.service konnte nicht gestartet werden: Einheit nicht gefunden.#🎜🎜 ##🎜🎜 #oder
Starten von MySQL.Logging bei '/app/mysql/data/dengwu.err '.#🎜 🎜#... FEHLER! Der Server wurde beendet, ohne die PID-Datei (/app/mysql/data/dengwu.pid) zu aktualisieren.
Die Lösung lautet wie folgt:--需要安装mariadb-server yum install -y mariadb-server --然后启动mariadb服务 systemctl start mariadb.service --需要的可以添加mariadb服务开机启动 systemctl enable mariadb.serviceNach dem Login kopierenJob für mariadb.service fehlgeschlagen, weil der Steuerungsprozess mit einem Fehlercode beendet wurde. Siehe „systemctl status mariadb.service“. „ und „journalctl -xe „ für Details. 🎜🎜#MySQL wird gestartet... FEHLER! Der Server wurde beendet, ohne die PID-Datei (/app/mysql/data/dengwu.pid) zu aktualisieren.
Die Lösung lautet wie folgt:#🎜 🎜#
chown -R mysql.mysql /app/mysql/

Der Root-Benutzer meldet sich an zum ersten Mal zu MySQL, weil wir nicht das ursprüngliche Passwort haben. Normalerweise setzen wir ein neues Passwort zurück. Der spezifische Vorgang ist wie folgt:4. MySQL-Passwort ändern
--查看mysql进程 ps -ef|grep mysqld --杀死mysql进程 kill -9 mysql进程ID

--编辑my.cnf vim /etc/my.cnf
default_authentication_plugin=mysql_native_password
Dann melden Sie sich bei MySQL an:
--跳过密码验证(等设置了密码就去掉) skip-grant-tables
Geben Sie dann den Befehl ein, um die MySQL-Benutzergruppe anzuzeigen :Überprüfen Sie, ob der Root-Benutzer keine Remote-Verbindungsberechtigungen aktiviert hat. Wenn nicht, führen Sie den folgenden Befehl aus:--登录mysql mysql -u root -pNach dem Login kopieren
--查看mysql用户表 select user,host,authentication_string from mysql.user;
--修改root用户可以远程连接 update mysql.user set host='%' where user='root';
#🎜🎜 #
--如果host是localhost则@字符后面是localhost,反之则是%,以host结果为准
--修改加密规则
alter user 'root'@'%' identified by 'qwer1234' password expire never;
--更新一下用户的密码
alter user 'root'@'%' identified with mysql_native_password by 'qwer1234';
--刷新权限
flush privileges;
--修改root用户密码
alter user 'root'@'%' identified by 'qwer1234';
Nach dem Login kopieren
Dann starten Sie MySQL neu: --如果host是localhost则@字符后面是localhost,反之则是%,以host结果为准 --修改加密规则 alter user 'root'@'%' identified by 'qwer1234' password expire never; --更新一下用户的密码 alter user 'root'@'%' identified with mysql_native_password by 'qwer1234'; --刷新权限 flush privileges; --修改root用户密码 alter user 'root'@'%' identified by 'qwer1234';
--允许访问 firewall-cmd --permanent --zone=public --add-port=3306/tcp --重新加载 firewall-cmd --reload --查看是否开通访问权限 firewall-cmd --permanent --zone=public --query-port=3306/tcp
#🎜 🎜#
Erfolgreiche Verbindung mit Navicat:Das obige ist der detaillierte Inhalt vonSo installieren Sie die MySQL-Datenbank in einer Linux-Umgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



C-Sprachbedingungskompilation ist ein Mechanismus zum selektiven Kompilieren von Codeblöcken, die auf Kompilierungszeitbedingungen basieren. Zu den Einführungsmethoden gehören: Verwenden von #IF- und #else -Direktiven, um Codeblöcke basierend auf den Bedingungen auszuwählen. Zu den häufig verwendeten bedingten Ausdrücken gehören STDC, _win32 und Linux. Praktischer Fall: Drucken Sie verschiedene Nachrichten entsprechend dem Betriebssystem. Verwenden Sie unterschiedliche Datentypen gemäß der Anzahl der Ziffern des Systems. Verschiedene Header -Dateien werden gemäß dem Compiler unterstützt. Die bedingte Kompilierung verbessert die Portabilität und Flexibilität des Codes und macht es an den Compiler-, Betriebssystem- und CPU -Architekturänderungen anpassbar.

C Sprachbedingte Zusammenstellung: Von der Fallpraxis zur Puzzle -Lösung Vorwort bedingte Kompilierung ist eine Vorverarbeitungstechnologie, mit der Kompilierungseinheiten dynamisch ausgewählt oder ausgeschlossen werden, um die Kompilierungszeit basierend auf Makros oder Compiler -Anweisungen auszuwählen. In der C -Sprache wird die bedingte Zusammenstellung durch #IF-, #elif-, #else- und #endif -Präprozessoranweisungen implementiert. Fallpraxis beginnen wir mit einem einfachen Fall: #ifdebugprintf ("DebugModeenabled. \ N");#elseprintf ("releasemodeenabled. \ N");#endif In diesem Beispiel wird der Compiler, wenn das Makro -Debuggen definiert ist, der Compiler wird

Die fünf grundlegenden Komponenten von Linux sind: 1. Der Kernel, Verwaltung von Hardware -Ressourcen; 2. Die Systembibliothek, die Funktionen und Dienste bereitstellt; 3. Shell, die Schnittstelle, in der Benutzer mit dem System interagieren können; 4. Das Dateisystem, das Daten speichert und organisiert; 5. Anwendungen, die Systemressourcen verwenden, um Funktionen zu implementieren.

C Sprache Bedingte Zusammenstellung: Ku ding jie Niu löst gründlich schwierige Probleme. Übersicht Die bedingte Kompilierung ist ein leistungsstarkes Tool in der C -Sprache, mit dem Codeblöcke basierend auf bestimmten Bedingungen erfasst oder ausgeschlossen werden können. Es ist sehr nützlich, um tragbare, anpassbare und pflegende Code zu erstellen. Syntax Conditional Compilation Direktiven haben zwei Hauptformulare: Präprozessor -Makros: definiert durch #Define und als Bedingungen im Code verwendet. Bedingter Kompilierungsblock: Verwenden Sie #IF, #elif und #Else -Direktiven, um den Code bedingt zu erstellen. Praktischer Fall Fall 1: Erstellen Sie tragbarer Code, gehen Sie davon aus, dass Sie ein Programm schreiben möchten, das unter Windows- und Linux -Systemen ausgeführt wird. Die bedingte Kompilierung kann verwendet werden, um plattformspezifischen Code zu erstellen: #ifdef_win32 //

Zu den Geheimnissen des Mastering-Office-Software gehören: Verständnis verschiedener Versionen und Plattformen, korrektes Installieren und Konfigurieren, die Verwendung der Software-Schnittstelle, eingehendes Verständnis der Feature-Operationen, die Zusammenarbeit von Anwendungen und die Freigabe von Funktionen, Verwendung Vorlagen und Stile, Beherrschen von fortschrittlichen Fähigkeiten und Lösung gemeinsamer Probleme. Darüber hinaus müssen Sie eine Version auswählen, die Ihren Anforderungen entspricht, Vorlagen und Stile gut nutzt, Backup -Gewohnheiten entwickelt und Abkürzungsschlüssel und fortschrittliche Techniken erlernen kann, um die Effizienz zu verbessern.

Linuxisnothardtolearn, ButthedifficultyDependyourbackgroundGoAs.ForthoseWithexperience, insbesondere Command-Linefamiliarität, Linuxisaneasytransition

C ist eine universelle Programmiersprache, die 1972 von Dennis Rich entwickelt wurde und für Effizienz, Portabilität und weit verbreitete Verwendung bekannt ist. Gründe für das Lernen C sind seine Grundlagen (die Grundlage vieler Betriebssysteme und Anwendungen), ein umfassendes Verständnis dafür, wie die internen Funktionen von Computersystemen sind, und deren schnellen und effizienten Funktionen (für Echtzeitsysteme und eingebettete Geräteprogrammierung).

Fehlerbehebung bei Bedingungserstellung: Stellen Sie sicher, dass die erforderlichen Bibliotheken enthalten sind (z. B.). Verwenden Sie Makroamen als bedingte Ausdrücke, nicht als Konstanten oder Variablen. Verwenden Sie #endif richtig, um alle bedingten Blöcke zu schließen. Bestätigen Sie, dass die Bewertungsergebnisse der bedingten Expression mit den Erwartungen übereinstimmen. Überprüfen Sie, ob die #Define -Anweisung das Makro korrekt definiert, und widerspricht nicht mit anderen Makros.
