ورود

View Full Version : پسورد در mysql



h_mohamadi
سه شنبه 12 مرداد 1395, 14:20 عصر
سلام دوستان
من می خواستم ببینم چطوری می توانم به دیتابیسم که Mysql است یک پسورد بدهم؟؟
آیا این امکان هم هست که فقط به یک دیتابس پسورد داد یا خیر؟؟؟

Mask
چهارشنبه 13 مرداد 1395, 01:32 صبح
فقط به یک دیتابیس نمیتونید. الزاما به کل mysql باید رمز بدید.

h_mohamadi
چهارشنبه 13 مرداد 1395, 09:08 صبح
بله من هم می خواهم به کل دیتابیس پسورد بدهم ولی نمی دانم باید چطوری این کار را بکنم

golbafan
چهارشنبه 13 مرداد 1395, 11:23 صبح
بله من هم می خواهم به کل دیتابیس پسورد بدهم ولی نمی دانم باید چطوری این کار را بکنم

برای پسورد دادن به کل دیتابیس های مای اسکیوال باید برای یوزر root پسورد بدید

ALTER USER 'root'@'%' PASSWORD = PASSWORD('new_password');

برای پسورد دادن به فقط یک دیتابیس باید یک یوزر ایجاد کنید و بهش پسورد بدید و دسترسی اون یوزر رو بدید به همون دیتابیس

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON database1.* TO 'user1'@'localhost';


برای پسورد دادن به فقط یک جدول از یک دیتابیس باید یک یوزر ایجاد کنید و بهش پسورد بدید و دسترسی اون یوزر رو بدید به همون جدول مربوطه

CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON database1.table1 TO 'user2'@'localhost';

h_mohamadi
چهارشنبه 13 مرداد 1395, 16:58 عصر
برای پسورد دادن به کل دیتابیس های مای اسکیوال باید برای یوزر root پسورد بدید

ALTER USER 'root'@'%' PASSWORD = PASSWORD('new_password');

برای پسورد دادن به فقط یک دیتابیس باید یک یوزر ایجاد کنید و بهش پسورد بدید و دسترسی اون یوزر رو بدید به همون دیتابیس

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON database1.* TO 'user1'@'localhost';


برای پسورد دادن به فقط یک جدول از یک دیتابیس باید یک یوزر ایجاد کنید و بهش پسورد بدید و دسترسی اون یوزر رو بدید به همون جدول مربوطه

CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON database1.table1 TO 'user2'@'localhost';


من می خواهم به کل mysql پسورد بدهم و این دستور پسورد کلی به mysql را توی mysql front زدم ولی ارور می دهد و دستور عمل نمی کند

golbafan
پنج شنبه 14 مرداد 1395, 09:02 صبح
سلام
متن خطا رو دقیقا بنویسید

h_mohamadi
شنبه 16 مرداد 1395, 10:28 صبح
این متن ارور است
141884

h_mohamadi
شنبه 16 مرداد 1395, 10:43 صبح
البته من از دستور زیر استفاده کردم و کار کرد
SET PASSWORD FOR root@localhost=PASSWORD('newpass')

استفاده کردم و کار کرد
141885

و فقط مشکل این است که وقتی با پسورد می خواهم به mysql front کانکت بشم این ارور را می دهد
141887

و وقتی پسورد را خالی می زنم در mysql front این ارور را می دهد

141886
ولی در odbc با پسورد که می زنم تست را success می دهد
فقط الان مشکل mysqlfront است
ممنون می شوم دوستان راهنمایی بفرمایند

golbafan
شنبه 16 مرداد 1395, 23:47 عصر
این متن ارور است
141884

این خطا بخاطر نسخه دیتابیس شماست

golbafan
شنبه 16 مرداد 1395, 23:49 عصر
و فقط مشکل این است که وقتی با پسورد می خواهم به mysql front کانکت بشم این ارور را می دهد
141887


فایل libmysql.dll قدیمی هست و با نسخه سرور مغایرت دارد

h_mohamadi
یک شنبه 17 مرداد 1395, 08:42 صبح
فایل libmysql.dll قدیمی هست و با نسخه سرور مغایرت دارد

من سروری ندارم
mysql من روی سیستم خودم نصب است و می خواهم با mysqlfront به آن کانکت شوم
جالب است که در odbc با پسورد کاملا کانکت می شود و برنامه دلفی باهاش کار می کند

golbafan
یک شنبه 17 مرداد 1395, 09:43 صبح
من سروری ندارم
mysql من روی سیستم خودم نصب است و می خواهم با mysqlfront به آن کانکت شوم
جالب است که در odbc با پسورد کاملا کانکت می شود و برنامه دلفی باهاش کار می کند

وقتی دیتابیس رو روی سیستم خودتون اجرا میکنید و سرویسش فعال میشه درواقع سیستم شما سروری هست با آی پی 127.0.0.1

دوست عزیز چرا از navicat استفاده نمیکنی؟
نرم افزاری که میخواهید استفاده کنید(mysqlfront) از نسخه قدیمی libmysql.dll استفاده میکنه

دانلود navicat
http://p30download.com/fa/entry/48040
(http://p30download.com/fa/entry/48040)

همچنین میتونید از محصول رسمی خود دیتابیس به نام mysql workbench استفاده کنید
https://www.mysql.com/products/workbench/

h_mohamadi
یک شنبه 17 مرداد 1395, 14:52 عصر
وقتی دیتابیس رو روی سیستم خودتون اجرا میکنید و سرویسش فعال میشه درواقع سیستم شما سروری هست با آی پی 127.0.0.1

دوست عزیز چرا از navicat استفاده نمیکنی؟
نرم افزاری که میخواهید استفاده کنید(mysqlfront) از نسخه قدیمی libmysql.dll استفاده میکنه

دانلود navicat
http://p30download.com/fa/entry/48040
(http://p30download.com/fa/entry/48040)

همچنین میتونید از محصول رسمی خود دیتابیس به نام mysql workbench استفاده کنید
https://www.mysql.com/products/workbench/


مشکل navicat این است که متن های فارسی درون tabel ها را نشان نمی دهد یا اینکه من نمی دانم باید چطوری درست کنم که نشان بدهد

golbafan
یک شنبه 17 مرداد 1395, 19:53 عصر
مشکل navicat این است که متن های فارسی درون tabel ها را نشان نمی دهد یا اینکه من نمی دانم باید چطوری درست کنم که نشان بدهد

سلام
علتش اینه که متن شما واقعا فارسی نیست!!!

تعجب نکنید
دلفی در نسخه های یونیکد(2009 به بالا) متون فارسی رو برای دخیره سازی به حالت یونیکند تبدیل میکنه (در واقع متن کد میشه) و موقع خوندن هم دیکدشون میکنه
درحالی که این اطلاعات با کد asci دارن در دیتابیس شما ذخیره میشن
این مساله ممکنه موقعی که شما نرم افزارتون رو روی سیستم دیگه ای نصب میکنید خودشونشون بده و تمام اطلاعات در دیتابیس بصورت ؟؟؟؟ دیده بشه و اونوقت مجبورید حتما ویندوز رو روی حالت فارسی بزارید تا متن ها دیده بشه
برای امتحان این موضوع میتونید در خود navicat متون فارسی وارد کنید و ببینید چه اتفاقی می افته

اگر میخواهید متن واقعا فارسی باشن و در تمام ویندوزها درست دیده بشن باید کد پیج دیتابیس رو در حالت utf8-unicode-general قرار بدید...

141905

141906

موفق باشید

h_mohamadi
دوشنبه 18 مرداد 1395, 10:07 صبح
سلام
علتش اینه که متن شما واقعا فارسی نیست!!!

تعجب نکنید
دلفی در نسخه های یونیکد(2009 به بالا) متون فارسی رو برای دخیره سازی به حالت یونیکند تبدیل میکنه (در واقع متن کد میشه) و موقع خوندن هم دیکدشون میکنه
درحالی که این اطلاعات با کد asci دارن در دیتابیس شما ذخیره میشن
این مساله ممکنه موقعی که شما نرم افزارتون رو روی سیستم دیگه ای نصب میکنید خودشونشون بده و تمام اطلاعات در دیتابیس بصورت ؟؟؟؟ دیده بشه و اونوقت مجبورید حتما ویندوز رو روی حالت فارسی بزارید تا متن ها دیده بشه
برای امتحان این موضوع میتونید در خود navicat متون فارسی وارد کنید و ببینید چه اتفاقی می افته

اگر میخواهید متن واقعا فارسی باشن و در تمام ویندوزها درست دیده بشن باید کد پیج دیتابیس رو در حالت utf8-unicode-general قرار بدید...

141905

141906

موفق باشید

من این تنظیمی که شما فرموده اید را انجام داده ام ولی دیتاهای قبلی من هنوز درست نمیشه آیا راهی هست؟؟
من mysqlfront نسخه 5 را هم ریختم آن هم همین مشکل فارسی را دارد نمی دانم آیا راهی برای حل مشکل نمایش فایل فارسی های قبلی من هست؟؟؟

golbafan
دوشنبه 18 مرداد 1395, 23:52 عصر
من این تنظیمی که شما فرموده اید را انجام داده ام ولی دیتاهای قبلی من هنوز درست نمیشه آیا راهی هست؟؟
من mysqlfront نسخه 5 را هم ریختم آن هم همین مشکل فارسی را دارد نمی دانم آیا راهی برای حل مشکل نمایش فایل فارسی های قبلی من هست؟؟؟

قبلی ها دیگه تغییر نمیکنن باید یک برنامه مبدل بنویسید

h_mohamadi
چهارشنبه 20 مرداد 1395, 16:26 عصر
قبلی ها دیگه تغییر نمیکنن باید یک برنامه مبدل بنویسید

مشکل این است که متن های جدید در دیبی گریدم دیگر درست نشان نمی دهد و همه را علامت سوال نشان می دهد

golbafan
پنج شنبه 21 مرداد 1395, 11:51 صبح
مشکل این است که متن های جدید در دیبی گریدم دیگر درست نشان نمی دهد و همه را علامت سوال نشان می دهد

برای رفع مشکل باید در کانکشن استرینگ حتما گزینه یونیکد رو هم لحاظ کنید تا دلفی کد ها رو مجدداً دیکد نکنه

ado_connection دلفی نمیتونه یونیکد رو ساپورت کنه چون قدیمی هست اما شما میتونید از dbexpress یا بهتر از اون از firedac یا حتی جالبتر از همه از unidac استفاده کنید

لینک های کمکی
https://mathiasbynens.be/notes/mysql-utf8mb4
http://docwiki.embarcadero.com/RADStudio/Berlin/en/Unicode_Support_(FireDAC)

golbafan
پنج شنبه 21 مرداد 1395, 11:58 صبح
من از unidac استفاده کردم

نمایش اطلاعات در navicat
http://barnamenevis.org/attachment.php?attachmentid=141906&d=1470585456

نمایش در دلفی
http://barnamenevis.org/attachment.php?attachmentid=141637&d=1469396612