質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.34%

  • MySQL

    6152questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • CentOS

    2826questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

CentOS7 MySQLが起動しない

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,027

ruby_0ct

score 40

CentOS7でsystemctl start mysql.serviceで起動しようとすると、

Failed to start mysql.service: Unit not found.


と表示されます。

デバッグするために/etc/mysql/my.cnfを作成して中身は、

[mysqld]
default-character-set = utf8
log-error=/var/log/mysql/mysql.log


このようにしたのですが、出力もされません。

どうすればうまく起動するでしょうか?

バージョン
mysql  Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)

 追記 上記の質問より一歩前進したものの、起動コマンドでエラー

上記の質問はyum install mysql-serverでmysql-severをインストールしたことでひとまず前進したのですが、
起動コマンドsystemctl start mysqld.serviceを実行すると、以下のエラー表示となりました。

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

/var/mysql/mysql.logを見てみると以下のエラーが記録されていました。

2018-06-25T17:02:21.365210Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.11) starting as process 6100
2018-06-25T17:02:21.666708Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2018-06-25T17:02:21.668088Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-06-25T17:02:21.668774Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-25T17:02:21.702237Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.11)  MySQL Community Server - GPL.


検索してみると、前のバージョンによる原因のものが多かったのですが、MySQLは今回初めてインストールしたので有効な情報は見当たりませんでした。
解決策をご教授いただけると助かります。

追記 06/26 15:52
/etc/my.cnfを追記します。
/etc/mysql/my.cnfは削除しました。

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

log_timestamps=SYSTEM
skip-character-set-client-handshake
character-set-server=utf8mb4
explicit_defaults_for_timestamp=ON
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m6u

    2018/06/25 15:36

    マイナーバージョンも含めて一応示していただけるとよいかと。

    キャンセル

  • ruby_0ct

    2018/06/25 15:37

    MySQLのバージョンを追加しました

    キャンセル

回答 5

+1

yum install mysql

はしたのかもしれないけど、

yum install mysql-server

はしていないのでしょうきっと。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/25 15:46

    度々すみません笑
    おっしゃる通りでした。

    ただ、Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
    でこけました。

    キャンセル

  • 2018/06/25 15:50

    一体何を参考にして作業してるの?

    キャンセル

  • 2018/06/25 15:58

    基本的には先ほどのQiita何ですが、
    https://qiita.com/kt_flcl/items/50504b125e2c4eaee23d#mysql%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

    エラーになるのでその度にエラー文で検索してやっている状況です。
    それでもうまくいかないので、こちらに質問致しました。

    キャンセル

  • 2018/06/25 16:11 編集

    この記事の通りやってできないわけないんだけど…
    さっきから、の流れを見る限り、この通りやってないことは明らかなので、なんとも言えない。

    書いてある通りにやってくださいとしか言いようがないです。

    質問の仕方もちょっと悪いです。
    回答者はだた、エラーを見せられても困ります。

    1. 何をしようとして(実行したコマンド)
    2. どうなった(エラーメッセージ)
    3. 何が知りたい

    この3点セットで情報を伝えてください。

    キャンセル

  • 2018/06/26 02:29

    質問がわかりにくく、すみません。

    確かに前回の質問は、見落としていました。申し訳ないです。
    今回は環境によるエラーかと思われます。

    コメント欄に書くとわかりにくくなってしまうので、質問欄に追記しました。
    そしてご親切なご指摘ありがとうございます。

    キャンセル

checkベストアンサー

0

5.7の記事を参考に8.0を入れているので見落としがあるんじゃあ…?

8.0を入れている記事だと、文字コードが変わったり初期値が変わったりといったことがあるよう。
https://blog.apar.jp/linux/9868/#MySQL_80-2
(yumコマンドも違う)

一旦入れなおしてみては?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/26 15:55 編集

    my.cnfについて少しづつ理解してきました。今まで/etc内にmysql/my.cnfとディレクトリを生成して設定していましたが、
    /etc/my.cnfに生成されていましたので、こちらに設定するようにしました。また、質問欄にも追記しました。

    データディクショナリが原因なのはわかるのですが、具体的な原因がわかりません。
    再インストールやご指摘のサイトを参照して編集してみましたが、同様のエラーでした。

    キャンセル

  • 2018/06/26 16:45

    上記の記事のとおりに試してみましたが、特にエラーは起きないようなので環境に問題があるのでは?
    ちなみに私が叩いたコマンドは下記のみ(=記事通り)なので、これ以外の操作をしているのであればそこに原因があるかも。

    [user@hogehoge ~]$ su -
    [root@hogehoge ~]# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
    [root@hogehoge ~]# yum install -y mysql-community-devel mysql-community-server
    [root@hogehoge ~]# vi /etc/my.cnf
    [root@hogehoge ~]# diff /etc/my.cnf /etc/my.cnf.org
    31,36d30
    <
    < # 以後、追加
    < log_timestamps=SYSTEM
    < skip_character-set-client-handshake
    < character-set-server=utf8mb4
    < explicit_defaults_for_timestamp=ON
    [root@hogehoge ~]# systemctl enable mysqld
    [root@hogehoge ~]# systemctl start mysqld
    [root@hogehoge ~]# mysql_secure_installation --use-default

    ちなみに私は仮想環境で試していますが、メモリが少なすぎると別のエラー(InnoDBがメモリ不足を訴えてエラー)で起動しませんでした。
    メモリやHDDが小さかったり空きがなかったりはしませんか?
    あとは手作業でインストーラが作ってくれるファイルを作っているような記述をされているので、そのファイルに権限が足りなくて読めなくて、といったことはないですか?
    いずれにしても環境をきれいにしてからやり直した方が早いような気がします。

    キャンセル

  • 2018/06/26 19:54

    データディクショナリである/var/lib/mysql内にいくつかファイルがあったので、削除して実行したところ起動しました。

    ファイルがあったせいで初期化されなかったのが原因のようです。

    わざわざ仮想環境で試してまで頂いてありがとうございました。大変助かりました。

    キャンセル

0

サービス名って「mysqld.service」じゃないでしょうか
参考:CentOS7.3 に MySQL5.7 をインストールした時のメモ - Qiita
このメモによると、サーバーソフト本体は「mysql-server」をインストールしないといけないっていう。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/25 15:39

    お、今度は逆か。

    キャンセル

0

私はubuntuですが、my.cnfは以下の記述です。

[client]
default-character-set = utf8

[mysqld]
character-set-server = utf8

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

/var/log/mysqld.log、ってありますか?
あれば、その中の[Error]行、って晒せますか?
(できれば、再度「systemctl start mysql.service」実行してその時にでたっぽいエラー行)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • MySQL

    6152questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • CentOS

    2826questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。