Нет 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 mysqldsudo systemctl start mysqldкажется, до того, как сделал трюк.
Донкиксот

спасибо @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

У меня была похожая проблема при попытке запустить службу mariadb

ОШИБКА 2002 (HY000): Не удается подключиться к локальному серверу MySQL через сокет '/var/lib/mysql/mysql.sock'

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


Выходные данные указываются @updatesкак репо, так что здесь это не так. Это может все еще быть полезным для кого-то еще, так что спасибо, что поделились :-)
jornane

0

@OP Пожалуйста, выберите лучший ответ; @ Модератор, пожалуйста, заблокируйте вопрос;

Столкнулся с этой же проблемой, пробовал другие упомянутые шаги безрезультатно; что моя проблема вошла в систему как 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.