Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Tutorial zur Installation und Konfiguration von MySQL unter Linux

Tutorial zur Installation und Konfiguration von MySQL unter Linux

黄舟
黄舟Original
2017-05-28 11:41:111608Durchsuche

MySQLEine der beliebtesten relationalen Datenbanken, derzeit im Besitz von Oracle. Aufgrund seiner geringen Größe, hohen Geschwindigkeit, niedrigen Gesamtbetriebskosten und Open-Source-Code Es ist unsere erste Wahl für die tägliche Entwicklung. Schauen wir uns an, wie man MySQL unter Linux linux-glibc2.5-x86_64.tar.gz

2 installiert und konfiguriert. Erstellen Sie eine Arbeitsgruppe:

3 Verzeichnis erstellen

4 Entpacken Sie mysql-5.7.18 -linux-glibc2.5-x86_64.tar.gz und kopieren Sie es nach /usr/local/mysql
$su
#groupadd mysql
#useradd -r -g mysql mysql

5 Ändern Sie die Berechtigungen des MySQL-Benutzers für die Dateien unter MySQL und seinen Unterordnern. Nach der Änderung können Sie ll verwenden, um Berechtigungen anzuzeigen
#mkdir /usr/local/mysql
#mkdir /usr/local/mysql/data

6 Ändern (oder erstellen) Sie /etc/my .cnf
#tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
#cp -r /home/jieyamulu/mysql-5.7.18-linux-glibc2.5-x86_64/* /usr/local/mysql
Konfigurationsdatei

root@Ice-***:/usr/local# chown -R mysql:mysql mysql
root@Ice-***:/usr/local# ll
总用量 44
drwxr-xr-x 11 root root 4096 5月 19 07:39 ./
drwxr-xr-x 11 root root 4096 2月 16 04:30 ../
drwxr-xr-x 2 root root 4096 2月 16 04:19 bin/
drwxr-xr-x 2 root root 4096 2月 16 04:19 etc/
drwxr-xr-x 2 root root 4096 2月 16 04:19 games/
drwxr-xr-x 2 root root 4096 2月 16 04:19 include/
drwxr-xr-x 4 root root 4096 2月 16 04:23 lib/
lrwxrwxrwx 1 root root   9 3月 29 14:11 man -> share/man/
drwxr-xr-x 10 mysql mysql 4096 5月 19 07:48 mysql/
drwxr-xr-x 2 root root 4096 2月 16 04:19 sbin/
drwxr-xr-x 8 root root 4096 2月 16 04:34 share/
drwxr-xr-x 2 root root 4096 2月 16 04:19 src/
root@Ice-***:/usr/local# cd mysql/
root@Ice-***:/usr/local/mysql# ll
总用量 64
drwxr-xr-x 10 mysql mysql 4096 5月 19 07:48 ./
drwxr-xr-x 11 root root  4096 5月 19 07:39 ../
drwxr-xr-x 2 mysql mysql 4096 5月 19 07:48 bin/
-rw-r--r-- 1 mysql mysql 17987 5月 19 07:48 COPYING
drwxr-xr-x 2 mysql mysql 4096 5月 19 07:41 data/
drwxr-xr-x 2 mysql mysql 4096 5月 19 07:48 docs/
drwxr-xr-x 3 mysql mysql 4096 5月 19 07:48 include/
drwxr-xr-x 5 mysql mysql 4096 5月 19 07:48 lib/
drwxr-xr-x 4 mysql mysql 4096 5月 19 07:48 man/
-rw-r--r-- 1 mysql mysql 2478 5月 19 07:48 README
drwxr-xr-x 28 mysql mysql 4096 5月 19 07:48 share/
drwxr-xr-x 2 mysql mysql 4096 5月 19 07:48 support-files/

7 Die kritischste Initialisierung

Anfängliches Passwort merken
root@Ice-***:/usr/local/mysql# vim /etc/my.cnf 
[mysqld] basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
:wq
Hier können viele Probleme auftreten, wie zum Beispiel:

# cd /usr/local/mysql/
root@Ice-***:/usr/local/mysql# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

2017-05-19T00:15:46.529420Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-05-19T00:15:47.066125Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-05-19T00:15:47.213711Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-05-19T00:15:47.286951Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 4e958344-3c28-11e7-8334-c8d3ffd2db82.
2017-05-19T00:15:47.292857Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-05-19T00:15:47.294758Z 1 [Note] A temporary password is generated for root@localhost: YjaotQk*2ew4

Installieren von MySQL-Systemtabellen..../bin/mysqld: Fehler
beim
Laden gemeinsamer Bibliotheken: libaio.so.1: Gemeinsames

ObjektDatei: Keine solche Datei oder kein solches Verzeichnis

Fehlendes Abhängigkeitspaket Lösung:


Das ist auch so Möglicherweise waren die vorherigen Schritte falsch, was dazu führte, dass die Berechtigungen zum Betreiben der Datendatei usw. nicht ausreichten. Befolgen Sie die Schritte und installieren Sie alles, was fehlt (es gibt eine Eingabeaufforderung). Die Initialisierung sollte erfolgreich sein, wenn Sie diese Warnungen erhalten Beachten Sie, dass die Tabelle „mysql.gtid_executed“ nicht geöffnet werden kann. Wenn Sie Zeit haben, hat das Ignorieren keine Auswirkungen 8 Beeilen Sie sich nicht mit dem Start, es kann jetzt nicht gestartet werden. Führen Sie den Code aus und ändern Sie die Dateien außer dem Datenordner unter MySQL auf Root-Berechtigungen

sudo apt-get install libaio-dev 9Start

Drücken Sie die Eingabetaste

10Passwort zurücksetzen
root@Ice-***:/usr/local/mysql# chown -R root .
root@Ice-***:/usr/local/mysql# chown -R mysql data

11 Start festlegen
root@Ice-***:/usr/local/mysql# bin/mysqld_safe --user=mysql &

12 MySQL-Server und MySQL-Client installieren
root@Ice-***:/usr/local/mysql# /usr/local/mysql/bin/mysql -uroot -p

Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.18

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>

Lösung:
mysql> SET PASSWORD = PASSWORD('newpasswd');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show databases;
+--------------------+
| Database      |
+--------------------+
| information_schema |
| mysql       |
| performance_schema |
| sys        |
+--------------------+
4 rows in set (0.00 sec)
mysql> quit
Bye

1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //Jetzt den Info-Ordner umbenennen
root@Ice-***:/usr/local/mysql# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
root@Ice-***:/usr/local/mysql# chmod 755 /etc/init.d/mysqld
2.$ sudo mkdir /var/lib/dpkg/info //Neuen Infoordner erstellen

3.$ sudo apt-get up

date
root@Ice-***:~# apt-get install mysql-server
root@Ice-***:~# apt-get install mysql-client
root@Ice-***:~# apt-get install libmysqlclient-dev


E: Sub-process /usr/bin/dpkg returned an error code (1)
,

$ apt-get -f install //Abhängigkeitsbaum reparieren
4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //Schließen Sie den vorherigen Schritt ab. Nach dem Vorgang werden einige Dateien im neuen Info-Ordner generiert. Verschieben Sie nun alle diese Dateien in den Ordner „info_old“

5.$ sudo rm -rf /var/lib/dpkg/info //Verschieben Sie Ihre neuen Informationen. Löschen Sie den Ordner

6.$ sudo mv /var/lib/dpkg/info_old /var /lib/dpkg/info //Ändern Sie den vorherigen Info-Ordner wieder auf seinen Namen

Wenn dies der Fall ist, kann das Ubuntu-System möglicherweise keine chinesischen Zeichen in die Tabelle einfügen und keine chinesischen Zeichen abfragen die Tabelle..
Lösung:


Schließen Sie den Datenbankdienst

Fügen Sie eine Zeile „character_set_server=utf8“ unter [mysqld] hinzuAuswahl der Konfigurationsdatei :


Kopieren Sie die obige Datei nach /etc/mysql/my.cnf

service mysql stop
~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Starten Sie den Datenbankdienst neu

[mysqld]
#
# * Basic Settings
#
user      = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket     = /var/run/mysqld/mysqld.sock
port      = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir     = /tmp
lc-messages-dir = /usr/share/mysql
character_set_server=utf8 就是这一行,原来是没有的,要手动添加!
skip-external-locking
#

Wenn Sie den
Zeichensatz
überprüfen und die folgenden Ergebnisse erhalten, bedeutet das Erfolg.

~$ sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf

Das obige ist der detaillierte Inhalt vonTutorial zur Installation und Konfiguration von MySQL unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn