/etc/systemd/system/mariadb.service で mariadb のサービスを定義しました。
[Unit]
Description=start and stop MySQL(MariaDB) Server
After=syslog.target
After=network.target
[Service]
Type=simple
User=Umariadb
Group=Gmariadb
# Restart=always
# PermissionsStartOnly=true
ExecStart=/usr/local/ServerWeb/mariadb/bin/mysqld_safe --user=mysql --ledir=/usr/local/ServerWeb/mariadb/bin --datadir=/usr/local/ServerWeb/mariadb/data
# ExecStop=/usr/bin/vgaoff stop
TimeoutSec=300
PrivateTmp=true
[Install]
WantedBy=multi-user.target
後で有効にしました。
systemctl enable mariadb.service
今再起動した後、サービスは起動しない。
その後、サービスを再度無効にする必要があります。
手動でやり直してみるとうまくいきました...
sudo /usr/local/ServerWeb/mariadb/bin/mysqld_safe --user=mysql --ledir=/usr/local/ServerWeb/mariadb/bin --datadir=/usr/local/ServerWeb/mariadb/data
私のサービススクリプトはよく定義されていますか?
何が問題なのか知りたいです。どうやって解決しますか?
編集する:
$ sudo /usr/local/ServerWeb/mariadb/bin/mysqld_safe --user=mysql --ledir=/usr/local/ServerWeb/mariadb/bin --datadir=/usr/local/ServerWeb/mariadb/data
[sudo] password for joseluisbz:
170308 19:54:07 mysqld_safe Logging to '/usr/local/ServerWeb/mariadb/data/server.err'.
ファイル内部
170308 19:54:07 mysqld_safe Starting mysqld daemon with databases from /usr/local/ServerWeb/mariadb/data
2017-03-08 19:54:07 140588539000704 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld (mysqld 10.1.20-MariaDB) starting as process 4411 ...
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: The InnoDB memory heap is disabled
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Using Linux native AIO
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Using SSE crc32 instructions
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Completed initialization of buffer pool
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Highest supported file format is Barracuda.
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: 128 rollback segment(s) are active.
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Waiting for purge to start
2017-03-08 19:54:07 140588539000704 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.34-79.1 started; log sequence number 1622938
2017-03-08 19:54:07 140588539000704 [Note] Plugin 'FEEDBACK' is disabled.
2017-03-08 19:54:07 140587999135488 [Note] InnoDB: Dumping buffer pool(s) not yet started
2017-03-08 19:54:07 140588539000704 [Note] Server socket created on IP: '::'.
2017-03-08 19:54:08 140588539000704 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld: ready for connections.
Version: '10.1.20-MariaDB' socket: '/tmp/mysql.sock' port: 3306 MariaDB Server
ユーザビリティテスト...
[joseluisbz@Vxbox-Lnx ~]$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.20-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Linuxを終了してください...
2017-03-08 19:59:29 140588538443520 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld: Normal shutdown
2017-03-08 19:59:29 140588538443520 [Note] Event Scheduler: Purging the queue. 0 events
2017-03-08 19:59:29 140587982350080 [Note] InnoDB: FTS optimize thread exiting.
2017-03-08 19:59:29 140588538443520 [Note] InnoDB: Starting shutdown...
2017-03-08 19:59:31 140588538443520 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2017-03-08 19:59:32 140588538443520 [Note] InnoDB: Shutdown completed; log sequence number 1622948
2017-03-08 19:59:32 140588538443520 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld: Shutdown complete
170308 19:59:32 mysqld_safe mysqld from pid file /usr/local/ServerWeb/mariadb/data/Vxbox-Lnx.pid ended
今はサービスがあります。...
$ sudo systemctl enable mariadb.service
[sudo] password for joseluisbz:
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /etc/systemd/system/mariadb.service.
[joseluisbz@Vxbox-Lnx ~]$
調査する...
[joseluisbz@Vxbox-Lnx ~]$ sudo service mariadb start
[sudo] password for joseluisbz:
Redirecting to /bin/systemctl start mariadb.service
[joseluisbz@Vxbox-Lnx ~]$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[joseluisbz@Vxbox-Lnx ~]$
状態
$ sudo systemctl status mariadb.service
[sudo] password for joseluisbz:
● mariadb.service - start and stop MySQL(MariaDB) Server
Loaded: loaded (/etc/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2017-03-08 20:09:47 COT; 5min ago
Process: 4556 ExecStart=/usr/local/ServerWeb/mariadb/bin/mysqld_safe --user=mysql --ledir=/usr/local/ServerWeb/mariadb/bin --datadir=/usr/local/ServerWeb/mariadb/data (code=exited, status=1/FAILURE)
Main PID: 4556 (code=exited, status=1/FAILURE)
Mar 08 20:09:47 Vxbox-Lnx systemd[1]: Started start and stop MySQL(MariaDB) Server.
Mar 08 20:09:47 Vxbox-Lnx systemd[1]: Starting start and stop MySQL(MariaDB) Server...
Mar 08 20:09:47 Vxbox-Lnx mysqld_safe[4556]: 170308 20:09:47 mysqld_safe Logging to '/usr/local/ServerWeb/mariadb/data/server.err'.
Mar 08 20:09:47 Vxbox-Lnx systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
Mar 08 20:09:47 Vxbox-Lnx systemd[1]: Unit mariadb.service entered failed state.
Mar 08 20:09:47 Vxbox-Lnx systemd[1]: mariadb.service failed.
[joseluisbz@Vxbox-Lnx ~]$
別のチェック
$ sudo systemctl --failed
[sudo] password for joseluisbz:
UNIT LOAD ACTIVE SUB DESCRIPTION
● kdump.service loaded failed failed Crash recovery kernel arming
● mariadb.service loaded failed failed start and stop MySQL(MariaDB) Server
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
2 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
[joseluisbz@Vxbox-Lnx ~]$
ベストアンサー1
使用しないでくださいmysqld_safe
。
あらゆる種類の問題に直面することになりますが、最終的に問題は競争相手を構築し、この分野での地位を占めることに関連しています。システム化された恐怖の家Service Managerの下で、Poor Man's Dæmon Supervisor(シェルスクリプトで正しく作成されていません)を実行します。より良い相互運用性のために厳しくチェックし、調整し、準備プロトコルの不一致を処理し、異なる2つの場所で異なる方法で設定する衝突で終わることができますが、実際には意味がありません。代わりにdaemontoolsの世界で学びなさい。mysqld_safe
消えた世紀の転換期から。
数年が過ぎると、システムの世界から抜け出すことができます。 OracleとMySQLの世界とは異なり、MariaDBの世界の1つの違いは、サービスをサービスmysqld_safe
として使用するのではなく、daemontools/runit/s6ユーザーが長年にわたって望んでいた方法でMariaDBを実行する方法に関する良いドキュメントが実際にあることです。管理のためのツールセット。
マリアデータベース付属mariadb.service
systemd のサービス単位および設定を systemd サービス単位設定にmariadb-service-convert
移行するツールです。ユーザーが複数のサーバーを異なるサービスとして実行できるサービス単位テンプレートmy.cnf
も付属しています。[email protected]
それらを使用してください。
追加読書
- ジョナサンデボインポラード(2015)。 システム化された恐怖の家。よく与えられる答えです。
- ジョナサンデボインポラード(2016)。noshを使用するMariaDBとMySQL。ソフトウェア。
- 「システム」。 MariaDBの起動と停止。知識ベース。マリアデータベース。 2016.
- 「MariaDBの自動起動と停止」。 MariaDBの起動と停止。知識ベース。マリアデータベース。 2016.