Xamppをインストールしたばかりで、コマンドラインを使用してmySQLを記述しています。パスワードなしで 'root'を使用しており、mysqlに接続できますが、CREATE DATABASE
というエラーが発生するため、1044 access denied for user '' @ 'localhost'
を接続できません。 -uroot
としてログインしています。
PhpMyadminには自分がやりたいことをする権限がありますが、コマンドラインには書き込み権限がないようです。このトピックに関する他のすべての関連記事を見てきましたが、役に立ちませんでした。とにかく特権がないので、特権を付与することはできません。
ODBCコネクタmsiを再インストールし、mySQLを(xamppを除いて)直接再インストールしましたが、現在は動作します。 SHOW DATABASESは実際にデータベースをまったく表示していなかったため、コネクタの問題でした。
「ルート」ログインがDBにアクセスできなかったため、権限が制限されているように見えましたが、実際には正しく接続されていませんでした。
ルートとしてMySQLにログインしていますか? MySQLルートとしてログインしているときに、「通常の」MySQLユーザーアカウントに明示的に特権を付与する必要があります。
まず、MySQLデータベースのルートアカウントをセットアップします。
ターミナルタイプで:
mysqladmin -u root password 'password'
MySQLにログインするには、次を使用します。
mysql -u root -p
Skip-grant-tablesオプションを使用して手動でサーバーを起動するには、mysqlクライアントを開き、mysql.userテーブルまたはmysql.dbテーブルを手動で更新します。しかし、これは退屈な作業になる可能性があるため、必要なのがすべての特権を持つアカウントである場合、次のようにします。
skip-grant-tables
オプションを使用してサーバーを起動します
Mysqlクライアントを起動します(ユーザー名/パスワードなし)
コマンドを発行する
flush privileges;
許可テーブルを強制的にロードします。
このようなGRANTコマンドを使用して新しいアカウントを作成します(ただし、ユーザー名とパスワードを使用するものに置き換えます)。
GRANT ALL on *.* to 'username'@'localhost' identified by 'password';
サーバーを通常モード(skip-grant-tablesなし)で再起動し、新しく作成したアカウントでログインします。
this MySQLドキュメントを参照してください。
c:\ xampp\mysql\bin \に移動し、mysql.exeファイルがそのフォルダーにあることを確認します。
mysql -uroot -p
パスワードがない場合は、Enterキーを押します。
プロンプトが
mysql>
mysqlコマンドを実行します
デフォルトでは、XAMPPのrootユーザーにはパスワードが設定されていません。
MySQLのrootユーザーのパスワードを設定できます。
案内する
localhost:80/security/index.php
rootユーザーのパスワードを設定します。
注:Apacheが別のポートにある場合は、上記のURLのポート番号を変更してください。
XAMPPコントロールパネルを開く[シェル]ボタンをクリックします
そのウィンドウタイプでコマンドプロンプトウィンドウが開きます
mysql -u root -p;
Rootユーザーに設定したパスワードを入力するためのパスワードを要求します。
そこで、rootユーザーとしてログインしてurを実行します:Dここで、実行したいことを行います:P
データベースサーバーを停止した後、次の手順は、データベースサーバーを起動し、ネットワークと許可テーブルをスキップして、バックドアを介してサーバーにアクセスすることです。これは、以下のコマンドを実行することで実行できます。
Sudo mysqld_safe --skip-grant-tables --skip-networking &
データベースサーバーがセーフモードで起動したので、以下のコマンドを実行して、パスワードプロンプトなしでrootとしてログオンします。それを行うには、以下のコマンドを実行します
Sudo mysql -u root
次に、以下のコマンドを実行してmysqlデータベースを使用します。
use mysql;
最後に、以下のコマンドを実行して、ルートパスワードをリセットします。
update user set password=PASSWORD("new_password_here") where User='root';
new_password _hereをルートアカウント用に作成する新しいパスワードに置き換え、Enterキーを押します。
その後、以下のコマンドを実行して権限を更新し、変更をディスクに保存します。
flush privileges;
終了(CTRL + D)して完了です。
次に、MariaDBを通常どおり起動し、作成した新しいパスワードをテストします。
Sudo systemctl stop mariadb.service
Sudo systemctl start mariadb.service
以下のコマンドを実行して、データベースにログオンします。
Sudo mysql -u root -p
source:https://websiteforstudents.com/reset-mariadb-root-password-ubuntu-17-04-17-10/
サーバーファイルは名前フォルダのみを変更します
etc/mysql
rename
mysql-