FreeBSDを実際に使用するのは今回が初めてなので、重要なことを見逃すかもしれませんが、その可能性はありません。
そのため、ntopngで履歴を有効にできるようにpfSenseサーバーにmysqlを設定したいと思います。私はこの作業の危険性を知っており、私のシステムを安全に保つために必要な予防措置を講じています。
urlをコピーしてインストールしましたhttp://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/貼り付けたところpkg add
効果がありました。 mysql56-serverとすべての依存関係をインストールしました。
service mysql-server onestart
pfSenseを使用しているので、rc.confがないので起動する必要がありますが、そうすると、次のような結果が表示されます。
Starting mysql.
Bad -c option
/usr/local/etc/rc.d/mysql-server: WARNING: failed to start mysql
mysqlが何を意味するのかを検索してみましたが、bad -c option
答えはまったくありません。同様の問題を説明するページはありません。
削除してみましたが、/var/db/mysql/*
違いはありませんでした。
混乱しています。よろしくお願いします。
編集する:はい、ユーザーがいますmysql
。 pkgが自動的に生成されます。
答え1
問題を解決するために、pfSenseにはmysqlパッケージがないので、次のようにして公式のFreeBSDパッケージを使用します。
pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/mysql80-server-8.0.2_1.txz
これが問題の原因である可能性があります。
pfSense 2.3の基本システムとpfSenseパッケージはpkgに基づいているため、pfSenseのpkgストアが使用されますが、標準のFreeBSDパッケージストアは使用できません。 FreeBSDからパッケージをインストールすることは技術的に可能ですが、潜在的な依存関係の問題のために推奨されません。 pkg addを使用してURL全体をパッケージに渡すと機能しますが、将来の問題を回避するには注意が必要です。
基本的なFreeBSDパッケージのリストはここにあります: http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/
これはから来たものですpfSense ドキュメント。
MySQLパッケージには、パラメータリストを解析するためのプログラム/ライブラリ(インストールされているすべてのパッケージが含まれていないため、ここでは確認できません)またはpfSenseに付属していない一部のプログラム/ライブラリへの依存関係があります(ただし、 FreeBSDの一部です)。
したがって、すべての依存関係がインストールされていることを確認する必要があり、これはエラーの原因を追跡する必要があることを意味します。
また、データベースサービスを提供するためにファイアウォールデバイス/オペレーティングシステムを使用することは一般的にはお勧めできません。絶対にそうしてはいけないという言葉ではありませんが、これは珍しいユースケースです。
答え2
このエラーは、freebsd サービス シェル スクリプトの一部の無効なエスケープ方法が原因で発生します。su -c 'sh -c "..."'
特定のユーザーを指定してサービスを実行しようとすると、MySQLが問題を引き起こしているようです。
入力して/usr/local/etc/rc.d/mysql-server
54行をコメントアウトしmysql_user="mysql"
、55行を次に変更しましたが、mysql_limits_args="-e"
上記のコードが実行されないため、mysqlが正常に起動します。
データベースへのパブリック接続を許可するシステムでは、これを行わないでください。誰かがリモートでコードを実行する脆弱性を発見した場合、mysqlは現在rootとして実行され、攻撃者がサーバー上のすべてのファイルを読み書きできるようになるので本当に壊れます!悪意のある外部接続がアクセスできないため、localhostでntopngを使用することは安全でなければなりませんが、それでも良い考えではありません。