مقدمة
محروق: access denied for user 'root'@'localhost' using password yes
في بعض الأحيان ، عند توصيل بيانات MySQL ، سيتم الإبلاغ عن رسالة خطأ "access denied for user 'root'@'localhost' using password yes" . لا تشوش عندما ترى هذا الخطأ. سبب الخطأ هو أن اسم المستخدم أو كلمة المرور التي يتم الوصول إليها بواسطة قاعدة البيانات غير صحيحة. في هذا الوقت ، يتم تقسيمها عمومًا إلى حالتين التاليتين ، وسنتحدث عن الحل.
1. Xinan MySQL لم يضع كلمة مرور. في هذه الحالة ، تحتاج إلى إضافة كلمة مرور. كيف تضيفه؟
1. استخدم المستخدم الجذر لتسجيل الدخول إلى MySQL بكلمة مرور فارغة
Mysql -u الجذر
2. قم بتعديل كلمة مرور المستخدم الجذر:
MySQL> تحديث اسم قاعدة البيانات SET Password = كلمة المرور ('كلمة مرور جديدة') حيث user = 'root'mysql> flush exerileges ؛ mysql> QUIT3. أعد تشغيل MySQL ويمكنك تسجيل الدخول باستخدام كلمة المرور الجديدة.
2. لم أستخدمها لفترة طويلة ، انسى كلمة المرور الخاصة بي
1. افتح dos وأدخل دليل bin تحت mysql: i: d: /development/mysql-5.5.29-winx64/bin
2. أوقف خدمة mysql ، صافي إيقاف mysql
3.
mysqld-defaults-file = "d: /development/mysql-5.5.29-winx64/bin/my.ini
4. إعادة فتح نافذة DOS وأدخل بعد D: /development/mysql-5.5.29-winx64/bin: mysql -rot -p
5. مطالبة بإدخال كلمة المرور ، وأدخل كلمة المرور بعد الإدخال ، وأدخل mySQL>
6. أدخل تحت MySQL>:
MySQL> تحديث اسم قاعدة البيانات SET Password = كلمة المرور ('كلمة مرور جديدة') حيث user = 'root'mysql> flush exerileges ؛ mysql> QUITملاحظة: إذا كانت هناك قواعد بيانات متعددة ، فيمكنك تحديثها عدة مرات.
تكوين MySQL من خلال ملفات الخصائص
1. طرق شائعة لتوصيل البيانات
2. تكوين الخصائص والقراءة
1. ملفات التكوين مستخدمي
jdbc.drivers = com.mysql.jdbc.driverjdbc.url = jdbc: mysql: // localhost: 3306/databasenamejdbc.username = rootjdbc.password = uppassword
2. اقرأ ملف السمة
(1) إنشاء كائن خصائص ؛
خصائص الخصائص = خصائص جديدة () ؛
يمكن أيضًا القيام بهذه الخطوة: قم بإنشاء فصل يرث الخصائص والحصول على الكائن في وضع Singleton.
(2) استخدم طريقة getResourCeasStream () لكائن الفئة لقراءة ملف الخاصية المحدد في دفق الإدخال ، واستخدم طريقة LOAD () في فئة الخصائص لقراءة قائمة الخصائص (زوج المفتاح/القيمة) من دفق الإدخال ؛
private string resource = "user.properties" ؛ // إذا كان اسم ملف التكوين هو المستخدمين.
(3) عند استخدام اتصال قاعدة البيانات ، استخدم طريقة getProperty () في فئة الخصائص للحصول على قيمة القيمة من خلال المفتاح ، وبالتالي تحقيق عملية اتصال قاعدة البيانات.
String BROVERS = props.getProperty ("jdbc.drivers") ؛ url url = props.getProperty ("jdbc.url") ؛ string username = props.getProperty ("jdbc.username") drivermanager.getConnection (url ، اسم المستخدم ، كلمة المرور) ؛MySQL Connection Pool
1. لماذا استخدام مصادر البيانات ومجمعات الاتصال
تحتاج التطبيقات إلى الاتصال بشكل متكرر بقاعدة البيانات. إذا اتصلوا بقاعدة البيانات في كل مرة يعملون فيها ثم يغلقونها ، فسيكون الأداء بالتأكيد محدودًا. لذلك ، يجب أن تجد طريقة لإعادة استخدام اتصال قاعدة البيانات. استخدم تجمع اتصال لتحقيق الغرض من اتصالات قاعدة البيانات المتعددة.
2. مفهوم تجمع الاتصال
يتم استخدام تجمع الاتصال لإدارة كائنات الاتصال. يمكن لمجموعة الاتصال الحصول على اتصالات من مصدر البيانات. يمكن أن يكون هناك العديد من كائنات اتصال قاعدة البيانات في تجمع الاتصال ، والتي يمكن إعادة استخدامها. عندما يحتاج التطبيق إلى الاتصال ، فإنه ينطبق على تجمع الاتصال. إذا كانت هناك اتصالات مجانية في تجمع الاتصال ، فسيتم تعيينه للتطبيق. إذا لم يكن الأمر كذلك ، فقد تحتاج إلى الانتظار في قائمة انتظار الانتظار.
3. تكوين تجمع اتصال MySQL
1. انسخ حزمة برنامج تشغيل قاعدة البيانات وحزمة JSTL JAR إلى ٪ CATALINA_HOME ٪/LIB.
2. قم بتعديل ملف ٪ catalina_home ٪/conf/server.xml وأضفه ضمن <sost> العقدة:
<!-AppName يجب أن يكون Docbase اسم المشروع دقيقًا ويجب استبدال الرمز بـ &-!> <context path = "/appname" docBase = "AppName/Webroot" Auth = "Container"> <resource name = "jdbc/mysqlds" scope = "sharable" type = "javax.sql. url = "jdbc: mysql: // localhost: 3306/kqxt؟ useUnicode = true & directionDing = utf-8"
3. تعديل web.xml وأضف المحتوى التالي ضمن عقدة <web-app>
<Sroff-REF> <Description> MySQL DataSource مثال </description> <s-res-name> mysqlds </res-ref-name> <red-type> javax.sql.dataSource </s-type> <red-auth> حاوية </res-auth> </sours.ref>
4. احصل على اتصال قاعدة البيانات في الكود
// انتبه إلى اسم الحزمة المستورد استيراد java.sql.connection ؛ import javax.naming.context ؛ import javax.naming.initialcontext ؛ import javax.sql.datasource ؛ public class dbutil {public static connection () rehrows {context complication = new inialcontext () ؛ // احصل على مصدر بيانات مصدر البيانات ds = (dataSource) context.lookup ("java: comp/env/jdbc/mysqlds") ؛ // احصل على اتصال Connection Connect Connate = Ds.getConnection () ؛ if (conn! = null &&! conn.isclosed ()) {return conn ؛ } آخر {return null ؛ }}}لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.