# پایگاه‌های داده > سایر پایگاه‌های داده > MySQL >  پسورد در mysql

## h_mohamadi

سلام دوستان
من می خواستم ببینم چطوری می توانم به دیتابیسم که Mysql است یک پسورد بدهم؟؟
آیا این امکان هم هست که فقط به یک دیتابس پسورد داد یا خیر؟؟؟

----------


## Mask

فقط به یک دیتابیس نمیتونید. الزاما به کل mysql باید رمز بدید.

----------


## h_mohamadi

بله من هم می خواهم به کل دیتابیس پسورد بدهم ولی نمی دانم باید چطوری این کار را بکنم

----------


## golbafan

> بله من هم می خواهم به کل دیتابیس پسورد بدهم ولی نمی دانم باید چطوری این کار را بکنم


برای پسورد دادن به کل دیتابیس های مای اسکیوال باید برای یوزر 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

> برای پسورد دادن به کل دیتابیس های مای اسکیوال باید برای یوزر root پسورد بدید
> 
>  ALTER USER 'root'@'%' PASSWORD = PASSWORD('new_password');
> 
> برای پسورد دادن به فقط یک دیتابیس باید یک یوزر ایجاد کنید و بهش پسورد بدید و دسترسی اون یوزر رو بدید به همون دیتابیس
> 
> CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
> GRANT ALL ON database1.* TO 'user1'@'localhost';
> 
> ...


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

----------


## golbafan

سلام
متن خطا رو دقیقا بنویسید

----------


## h_mohamadi

این متن ارور است
Capture.JPG

----------


## h_mohamadi

البته من از دستور زیر استفاده کردم و کار کرد
*SET PASSWORD FOR root@localhost=PASSWORD('newpass')*

استفاده کردم و کار کرد 
Capture.JPG

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

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

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

----------


## golbafan

> این متن ارور است
> Capture.JPG


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

----------


## golbafan

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


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

----------


## h_mohamadi

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


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

----------


## golbafan

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


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

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

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


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

----------


## h_mohamadi

> وقتی دیتابیس رو روی سیستم خودتون اجرا میکنید و سرویسش فعال میشه درواقع سیستم شما سروری هست با آی پی 127.0.0.1
> 
> دوست عزیز چرا از navicat استفاده نمیکنی؟
> نرم افزاری که میخواهید استفاده کنید(mysqlfront) از نسخه قدیمی libmysql.dll استفاده میکنه
> 
> دانلود navicat
> http://p30download.com/fa/entry/48040
> 
> 
> ...



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

----------


## golbafan

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


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

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

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

2.jpg

موفق باشید

----------


## h_mohamadi

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


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

----------


## golbafan

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


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

----------


## h_mohamadi

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


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

----------


## golbafan

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


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

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

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

----------


## golbafan

من از unidac استفاده کردم

نمایش اطلاعات در navicat
https://barnamenevis.org/attachment.p...6&d=1470585456

نمایش در دلفی
https://barnamenevis.org/attachment.p...7&d=1469396612

----------

