Po instalacji mariadb-server nie ma mysqld ani mysql.server


33

Więc ... prawdopodobnie jestem idiotą, ale utknąłem. Właśnie skonfigurowałem CentOS 7 na Digial Ocean i nie mogę uruchomić serwera MariaDB / MySQL.

Niektóre dane wyjściowe

[root@hostname ~]# yum list installed |grep maria
mariadb.x86_64                        1:5.5.37-1.el7_0                @updates  
mariadb-libs.x86_64                   1:5.5.37-1.el7_0                @updates  
mariadb-server.x86_64                 1:5.5.37-1.el7_0                @updates  

Więc jest zainstalowany, czy możemy przynajmniej zobaczyć klienta?

[root@hostname ~]# which mysql
/bin/mysql

Spróbujmy uruchomić serwer, dla zabawy

[root@hostname ~]# service mysqld start
Redirecting to /bin/systemctl start  mysqld.service
Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.
[root@hostname ~]# mysqld
-bash: mysqld: command not found
[root@hostname ~]# mysql.server start
-bash: mysql.server: command not found
[root@hostname ~]# 

I tu się zgubiłem. Patrząc na to, co jest faktycznie zainstalowane, nie ma serwera / demona

[root@hostname ~]# ls -la /bin/my*
-rwxr-xr-x 1 root root 3419136 Jun 24 10:27 /bin/myisamchk
-rwxr-xr-x 1 root root 3290760 Jun 24 10:27 /bin/myisam_ftdump
-rwxr-xr-x 1 root root 3277032 Jun 24 10:27 /bin/myisamlog
-rwxr-xr-x 1 root root 3320200 Jun 24 10:27 /bin/myisampack
-rwxr-xr-x 1 root root 2914904 Jun 24 10:27 /bin/my_print_defaults
-rwxr-xr-x 1 root root 3533016 Jun 24 10:27 /bin/mysql
-rwxr-xr-x 1 root root  111587 Jun 24 10:24 /bin/mysqlaccess
-rwxr-xr-x 1 root root 3089712 Jun 24 10:27 /bin/mysqladmin
-rwxr-xr-x 1 root root 3253112 Jun 24 10:27 /bin/mysqlbinlog
lrwxrwxrwx 1 root root      26 Sep  8 03:06 /bin/mysqlbug -> /etc/alternatives/mysqlbug
-rwxr-xr-x 1 root root 3090832 Jun 24 10:27 /bin/mysqlcheck
-rwxr-xr-x 1 root root    4247 Jun 24 10:24 /bin/mysql_convert_table_format
-rwxr-xr-x 1 root root   24558 Jun 24 10:24 /bin/mysqld_multi
-rwxr-xr-x 1 root root   27313 Jun 24 10:24 /bin/mysqld_safe
-rwxr-xr-x 1 root root 3173968 Jun 24 10:27 /bin/mysqldump
-rwxr-xr-x 1 root root    7913 Jun 24 10:24 /bin/mysqldumpslow
-rwxr-xr-x 1 root root    3315 Jun 24 10:24 /bin/mysql_find_rows
-rwxr-xr-x 1 root root    1261 Jun 24 10:24 /bin/mysql_fix_extensions
-rwxr-xr-x 1 root root   34826 Jun 24 10:24 /bin/mysqlhotcopy
-rwxr-xr-x 1 root root 3082072 Jun 24 10:27 /bin/mysqlimport
-rwxr-xr-x 1 root root   16204 Jun 24 10:24 /bin/mysql_install_db
-rwxr-xr-x 1 root root 2923136 Jun 24 10:27 /bin/mysql_plugin
-rwxr-xr-x 1 root root   11578 Jun 24 10:24 /bin/mysql_secure_installation
-rwxr-xr-x 1 root root   17473 Jun 24 10:24 /bin/mysql_setpermission
-rwxr-xr-x 1 root root 3084760 Jun 24 10:27 /bin/mysqlshow
-rwxr-xr-x 1 root root 3104240 Jun 24 10:27 /bin/mysqlslap
-rwxr-xr-x 1 root root 3442464 Jun 24 10:27 /bin/mysqltest
-rwxr-xr-x 1 root root 2918416 Jun 24 10:27 /bin/mysql_tzinfo_to_sql
-rwxr-xr-x 1 root root 2995400 Jun 24 10:27 /bin/mysql_upgrade
-rwxr-xr-x 1 root root 2913960 Jun 24 10:27 /bin/mysql_waitpid
-rwxr-xr-x 1 root root    3888 Jun 24 10:24 /bin/mysql_zap

Czy ktoś zechce wskazać, co robię tutaj źle?

Odpowiedzi:


40

Jeśli ktoś natknie się na to, znalazłem rozwiązanie tutaj: https://ask.fedoraproject.org/en/question/43459/how-to-start-mysql-mysql-isnt-starting/

Prześlij poniżej


Aby uruchomić MariaDB na Fedorze 20, wykonaj następujące polecenie:

systemctl start mariadb.service

Aby automatycznie uruchomić MariaDB na Fedorze 20, wykonaj następujące polecenie:

systemctl enable mariadb.service

Po uruchomieniu MariaDB (zrób to tylko raz), wykonaj następujące polecenie:

/usr/bin/mysql_secure_installation

4
Próbuję sudo systemctl start mariadb, rozumiemFailed to start mariadb.service: Unit mariadb.service failed to load: No such file or directory.
donquixote

2
sudo systemctl enable mysqldsudo systemctl start mysqldwygląda na to, że zanim to zrobił.
donquixote

dzięki @donquixote Nigdy wcześniej nie spotkałem się z takim zachowaniem (muszę włączyć przed uruchomieniem) z systemd. wygląda na to, że mysqld.service można pomyślnie wyłączyć po uruchomieniu i nie zatrzymać usługi. Chcę jawnie uruchomić i zatrzymać usługę mysql i nie uruchamiać jej automatycznie podczas uruchamiania.
lsh

13

Kiedy biegniesz:

yum install mysql

polecenie domyślnie instaluje MariaDB, a nie MySQL.

Wypróbuj następujące polecenie:

yum list installed | grep mariadb

jeśli mariadb-serverbrakuje, spróbuj wykonać następujące polecenie:

yum install mariadb-server

instaluje pakiet serwera, a następnie uruchamia usługę:

systemctl start mariadb

lub:

service mariadb start

Mój problem został rozwiązany w ten sposób.


Wydaje się, że jest to poprawna odpowiedź na koniec 2016 r. Podczas instalowania mysql na CentOS zainstaluje Maria DB, ale może nie zainstalować serwera (co jest dziwne). To załatwiło sprawę.
Craig Jacobs

Dokładne i proste wyjaśnienie, a nawet zadziałało! Jestem na nowym Amazon Linux. Dzięki!
musicin3d

3

Nazwa usługi mariadbpozwala na uruchomienie jej za pomocą:

service mariadb start

Przestań używać:

service mariadb stop

I uruchom go ponownie za pomocą:

service mariadb restart

2
CentOS 7 używa systemd, więc powinieneś używać odpowiednich systemctlpoleceń zamiast starych servicepoleceń.
Sven

2

Sprawdź, czy mysqldjest w /usr/libexec/katalogu. Przynajmniej w CentOS 6.5 zwykły MySQL instaluje tam sam serwer.

Zobacz także dane wyjściowe z, systemctl list-unitsaby zobaczyć nazwę twojego serwera MariaDB.


mysqld jest rzeczywiście obecny w /usr/libexec/katalogu. Jednak nie widzę nic na temat MariaDB (lub MySQL) w danych wyjściowych systemctl list-unitspolecenia
danneth

1

Miałem podobny problem przy próbie uruchomienia usługi mariadb

BŁĄD 2002 (HY000): Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo „/var/lib/mysql/mysql.sock”

Pomyślałem, że problem dotyczy niepasujących pakietów yum - niektóre zostały zainstalowane ze specjalnego repozytorium mariadb, a inne z oficjalnego repozytorium centos. Dlatego musiałem usunąć niestandardowy wpis repozytorium yum, usunąć pakiety MariaDB i ponownie zainstalować mariadb-server, wtedy usługa uruchomiłaby się bez problemu.


Wyjściowe stany @updatesstanowią repozytorium, więc wydaje się, że tak nie jest. Może to być przydatne dla kogoś innego, więc dziękuję za udostępnienie :-)
jornane

0

@OP Wybierz najlepszą odpowiedź; @ Mododerator proszę zablokować pytanie;

Natknąłem się na ten sam problem, wypróbowałem inne wymienione kroki bezskutecznie; co mój problem był zalogowany jako root / sudo su, po wyjściu z su i uruchomieniu $ systemctl status mariadbotrzymałem

mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Potem pobiegł $ sudo systemctl enable mariadbodbiorczej

Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

Następnie uruchom mariadb z $ sudo systemctl start mariadb- Brak błędu / komunikatu, więc powinien być dobry, ale nie szkodzi w sprawdzaniu$ systemctl status mariadb

mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-10-17 10:07:00 CDT; 5min ago
  Process: 18093 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
  Process: 18000 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 18092 (mysqld_safe)
    Tasks: 20
   CGroup: /system.slice/mariadb.service
           ├─18092 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           └─18261 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock

Oct 17 10:06:58 centos-7.shared mariadb-prepare-db-dir[18000]: MySQL manual for more instructions.
Oct 17 10:06:58 centos-7.shared mariadb-prepare-db-dir[18000]: Please report any problems at http://mariadb.org/jira
Oct 17 10:06:58 centos-7.shared mariadb-prepare-db-dir[18000]: The latest information about MariaDB is available at http://mariadb.org/.
Oct 17 10:06:58 centos-7.shared mariadb-prepare-db-dir[18000]: You can find additional information about the MySQL part at:
Oct 17 10:06:58 centos-7.shared mariadb-prepare-db-dir[18000]: http://dev.mysql.com
Oct 17 10:06:58 centos-7.shared mariadb-prepare-db-dir[18000]: Consider joining MariaDB's strong and vibrant community:
Oct 17 10:06:58 centos-7.shared mariadb-prepare-db-dir[18000]: https://mariadb.org/get-involved/
Oct 17 10:06:58 centos-7.shared mysqld_safe[18092]: 181017 10:06:58 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Oct 17 10:06:58 centos-7.shared mysqld_safe[18092]: 181017 10:06:58 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Oct 17 10:07:00 centos-7.shared systemd[1]: Started MariaDB database server.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.