Немає mysqld або mysql.server після встановлення mariadb-сервера


33

Отже ... швидше за все, я ідіот, але я застряг. Я просто створив CentOS 7 на Digial Ocean і, здається, не можу запустити сервер MariaDB / MySQL.

Деякий вихід

[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  

Так це встановлено, чи можемо ми хоча б побачити клієнта?

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

Спробуємо запустити сервер, просто заради задоволення

[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 ~]# 

І саме тут я заблукаю. Дивлячись на те, що насправді встановлено, немає сервера / демон

[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

Комусь хочеться зазначити, що я тут роблю неправильно?

Відповіді:


40

Якщо хтось наткнеться на це, я знайшов рішення тут: https://ask.fedoraproject.org/en/question/43459/how-to-start-mysql-mysql-isnt-starting/

Репост нижче


Щоб запустити MariaDB у Fedora 20, виконайте таку команду:

systemctl start mariadb.service

Щоб автозапустити MariaDB у Fedora 20, виконайте таку команду:

systemctl enable mariadb.service

Після запуску MariaDB (зробіть це лише один раз), виконайте таку команду:

/usr/bin/mysql_secure_installation

4
Намагаючись sudo systemctl start mariadb, я отримуюFailed to start mariadb.service: Unit mariadb.service failed to load: No such file or directory.
donquixote

2
sudo systemctl enable mysqldперш ніж sudo systemctl start mysqldробити трюк, здається.
donquixote

дякую @donquixote Я ніколи раніше не стикався з такою поведінкою (потребую ввімкнення перед початком) з systemd. схоже, що mysqld.service можна буде успішно відключити після запуску і не припиняти службу. Я хочу явно запустити та зупинити службу mysql, а не запускати її автоматично під час завантаження.
lsh

13

Під час запуску:

yum install mysql

Команда за замовчуванням встановлює MariaDB не MySQL.

Тому спробуйте наступну команду:

yum list installed | grep mariadb

якщо mariadb-serverцього немає, спробуйте виконати наступну команду:

yum install mariadb-server

він встановлює серверний пакет, після чого запускайте послугу:

systemctl start mariadb

або:

service mariadb start

Моє питання було вирішено таким чином.


Це здається правильною відповіддю станом на кінець 2016 року. При встановленні mysql на CentOS він встановить maria db, але він може не встановити сервер (що дивно). Це зробило трюк.
Крейг Джейкобс

Ретельне і просте пояснення, і це навіть спрацювало! Я на новому Amazon Linux. Спасибі!
musicin3d

3

Назва сервісу - mariadbви можете запустити її за допомогою:

service mariadb start

Припиніть його використовувати:

service mariadb stop

І перезапустіть його, використовуючи:

service mariadb restart

2
CentOS 7 використовує systemd, тому вам слід використовувати відповідні systemctlкоманди замість старих serviceкоманд.
Свен

2

Подивіться, чи mysqldзнаходиться під /usr/libexec/каталогом. Принаймні, з CentOS 6.5 звичайний MySQL встановлює сам сервер там.

Також дивіться висновок з, systemctl list-unitsщоб побачити назву для вас сервера MariaDB.


mysqld дійсно присутній в /usr/libexec/каталозі. Однак я не бачу нічого про MariaDB (або MySQL) у висновку systemctl list-unitsкоманди
danneth

1

У мене була подібна проблема, намагаючись запустити сервіс маріадб

ПОМИЛКА 2002 (HY000): не вдається підключитися до локального сервера MySQL через сокет '/var/lib/mysql/mysql.sock'

Я подумав, що проблема полягає у невідповідних пакетах yum - деякі встановлювались із спеціального репо-маріадба, а інші - з офіційного репо центру. Таким чином, мені довелося відмовитися від користувальницького запису yum repo, видалити пакунки MariaDB та встановити mariadb-сервер заново, тоді сервіс запуститься без проблем.


Вихід визначається @updatesяк репо, так що, мабуть, тут не так. Це все ще може бути корисним комусь іншому, тому дякую вам за обмін :-)
jornane

0

@OP Виберіть найкращу відповідь; @Moderator, будь ласка, заблокуйте питання;

Побіг у цьому ж питанні, спробував інші кроки, згадані безрезультатно; що моя проблема була входом у систему root / sudo su, після виходу із програми su та запуску $ systemctl status mariadbя отримав

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

Потім я побіг $ sudo systemctl enable mariadbотримуючи

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

Потім запускайте mariadb з $ sudo systemctl start mariadb- Немає помилок / повідомлень, тому це повинно бути добре, але шкоди при перевірці$ 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.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.