Linux 非 root ユーザー C3P0 接続 MySQL 権限の問題

今日は、Windows で開発した Web プロジェクトを Linux に移動して開発したいと思います (springmvc+spring+hibernate というフレームワークを使用します)。Myeclipse はプロジェクトを Tomcat にデプロイしますが、コンソール情報: java.sql.SQLException: ユーザー 'canva'@'localhost' のアクセスが拒否されました (パスワードを使用: YES) という例外がスローされます
最初はまだ奇妙に感じましたが、db.properties で設定されているユーザーは明らかに root ですが、なぜ今 Debian システムの現在のユーザーとしてログインしているのでしょうか? そこで、root ユーザーに切り替えてシステムに再度ログインしたところ、すべてが正常で、接続が「root」@「localhost」であることがわかりました。それで問題を見つけたので、それを解決します。
コマンドラインインターフェースを開きます。

sudo mysql_setpermission

输受信パケット库root用户密码,その後に次のような選択肢があります:
1. 既存のユーザーのパスワードを設定します。
2. データベースとそのデータベース
とホストの組み合わせに対する
ユーザー権限を作成します (ユーザーは SELECT のみを実行できます) 3. 既存のデータベース
とホストの組み合わせに対するユーザー権限を作成/追加します (ユーザーは SELECT のみを実行できます)
4. より広範なユーザー権限を作成/追加します既存の
データベースとホストの組み合わせの場合
(ユーザーは SELECT、INSERT、UPDATE、DELETE を実行できます)
5. 既存のデータベースとホストの組み合わせに対して非常に拡張されたユーザー権限を作成/追加します(ユーザーはSELECT、INSERT、UPDATE、DELETE、CREATE、DROP を
実行できます)
,INDEX,
LOCK TABLES,CREATE TEMPORARY TABLES)
6. 既存のデータベースに対する完全な権限を作成/追加します
とホストの組み合わせ (ユーザーは完全な権限を持っています) 7. 既存のデータベースとホストの組み合わせ
に対するすべての権限を削除します(ユーザーはすべての権限フィールドを N に設定します) 0. このプログラムを終了しますここでは、新しい名前と自分の名前を作成するために 4 を選択します。 current システム ユーザーと同じで、追加、削除、変更、検索の権限のみを持つデータベース ユーザー すべての権限を取得したい場合は、6 を選択してください。次に、プロンプトに従い、1 つ以上のデータベースを選択し、ユーザー名とパスワードを入力し、接続方法 (localhost) を設定します。このようにして、自身のシステムユーザーに対応するデータベースユーザーが作成され、db.propertiesが変更され、ユーザーとパスワードが新しく作成されたユーザーに設定されます。例は次のとおりです。




jdbcUrl=jdbc\:mysql\://localhost\:3306/countryside?useUnicode\=true&characterEncoding\=utf8
driverClass=com.mysql.jdbc.Driver
user=canva
password=123456
initialPoolSize=10
maxPoolSize=30

そうすると接続できるようになります!

おすすめ

転載: blog.csdn.net/CanvaChen/article/details/52734543