バイナリZipを使用してMySQLコミュニティサーバー5.7.10をインストールしました。 c:\mysql
にZipを抽出し、c:\mysql\data
にデータフォルダーを作成しました。構成ファイルをmy.ini
として作成し、c:\mysql
(抽出されたZipのルートフォルダー)に配置しました。以下はmy.ini
ファイルの内容です
# set basedir to your installation path
basedir=C:\mysql
# set datadir to the location of your data directory
datadir=C:\mysql\data
mysqld --console
を使用してMySQLを起動しようとしていますが、以下のエラーでプロセスが中止されます。
2015-12-29T18:04:01.141930Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2015-12-29T18:04:01.141930Z 0 [ERROR] Aborting
これに関する助けをいただければ幸いです。
次のコマンドを実行して、データディレクトリを初期化する必要があります
mysqld --initialize
[ランダムなルートパスワードを使用]
mysqld --initialize-insecure
[空のルートパスワード付き]
Maria DBでは、mysql_install_db
を使用します。私の場合、データパスに環境変数を使用します。これは、mysqldがコマンドラインを介してどこを知る必要があるだけでなく、インストールスクリプトも必要とすることを意味します。
mysql_install_db --user=root --datadir=$db_datapath
mysqld --initializeでデータディレクトリを初期化してからmysqld&
Mysqld --initializeを使用せずにmysqld&をすでに起動している場合は、データディレクトリ内のすべてのファイルを削除する必要があります。
/etc/my.cnfを変更して、次のようにデータディレクトリにカスタムパスを追加することもできます。
[mysqld]
...
datadir=/path/to/directory
同じ問題がありました。何らかの理由で--initialize
が機能しませんでした。さまざまなパラメーター、構成、およびコマンドを使用した約5時間の試行錯誤の後、問題の原因がファイルシステムであることがわかりました。
大規模なUSB HDDドライブでデータベースを実行したかった。 2 TBより大きいドライブはGPTパーティションに分割されています!解決策が記載されたバグレポートを次に示します。
https://bugs.mysql.com/bug.php?id=2891
一言で言えば、my.iniに次の行を追加します。
innodb_flush_method=normal
Windows上のmysql 5.7でこの問題が発生しました。
上記のように、mysql-5.7.18で同様の問題が発生しました。
私はこれをこのようにした
1。 「MYSQL_HOME\bin\mysqld.exe --initialize-insecure」からこのコマンドを実行しました
2。その後、「MYSQL_HOME\bin\mysqld.exe」を開始しました
3。ユーザー名「root」でこのlocalhost:3306にワークベンチを接続します
4。次に、「SET PASSWORD FOR 'root' @ 'localhost' = 'root';」というクエリを実行しました
パスワードも正常に更新されました。