وبلاگ شخصی علی مقدس زاده

۵ مطلب با موضوع «سرور :: پایگاه داده :: MySql» ثبت شده است

قبلا تو همین وبلاگ روش ریست کردن پسورد کاربر root دیتابیس MySql رو نوشته بودم ولی ظاهرا تو نسخه‌های جدید یه مقدار فرق کرده، اگر از Ubuntu 16.04 استفاده می‌کنید میتونید با استفاده از دستورات زیر پسورد کاربر root رو ریست کنید:


# Stop MySQL
$ sudo service mysql stop
# Make MySQL service directory.
$ sudo mkdir /var/run/mysqld
# Give MySQL user permission to write to the service directory.
$ sudo chown mysql: /var/run/mysqld
# Start MySQL manually, without permission checks or networking.
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
# Log in without a password.
mysql -uroot mysql mysql> UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%'; mysql> EXIT; # Turn off MySQL. $ sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown # Start the MySQL service normally. $ sudo service mysql start

منبع: https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts

  • علی مقدس زاده

گاهی اوقات، بنا به دلایلی شما تشخیص میدید که بهتره مسیر پیش فرض اطلاعات سرویس‌های مختلف تغییر کنه. به عنوان مثال فرض می‌کنیم شما یک هارد ssd دارید و تصمیم دارید اطلاعات دیتابیس‌های شما به جای مسیر اصلی، روی پارتیشنی که مربوط به هارد ssd هست ذخیره بشه و یا اینکه برای راحت شدن عملیات بک آپ و ... تصمیم دارین تمام اطلاعات مهم مربوط به سرور خودتون (شامل اطلاعات وب سرور، دیتابیس‌های Postgres و MySql و ...) رو تو یک پارتیشن جدا ذخیره کنید تا بعدا زمان نصب سیستم عامل کارتون راحت‌تر باشه.

قبلا تو این وبلاگ در مورد تغییر مسیر پیش فرض اطلاعات PostgreSQL در اوبونتو 14.04 نوشتیم و تو این پست تصمیم داریم نحوه تغییر مسیر پیش فرض اطلاعات MySql رو بصورت مرحله به مرحله با هم مرور کنیم:


مرحله ۱) اولین مرحله متوقف کردن سرویس MySql هست:

$ sudo /etc/init.d/mysql stop


مرحله ۲) با استفاده از دستور زیر، اطلاعات فعلی رو به مسیر جدید منتقل می‌کنیم:

$ sudo cp -R -p /var/lib/mysql /path/to/new/datadir


مرحله ۳) در این مرحله لازم هست تغییرات مورد نظر خودمون رو تو فایل کانفیگ MySql اعمال کنیم. برای این کار ابتدا فایل زیر رو با استفاده از یک ویرایشگر متن باز می‌کنیم:

$ sudo nano /etc/mysql/my.cnf

بعد از نمایش محتویات فایل، عبارت datadir رو جستجو می‌کنیم و مقدار اون رو از var/lib/mysql/ به مسیر دلخواه خودمون (تو این مثال path/to/new/datadir/ تغییر میدیم).


مرحله ۴) تو این مرحله لازم هست مسیر جدید اطلاعات MySql رو برای AppArmor هم مشخص کنیم. برای این کار ابتدا فایل زیر رو با استفاده از یک ویرایشگر متن باز می‌کنیم:

$ sudo nano /etc/apparmor.d/usr.sbin.mysqld

بعد از نمایش محتویات فایل، عبارت var/lib/mysql/ رو با مسیر جدید جایگزین می‌کنیم.


مرحله ۵) در نهایت، لازم هست سرویس AppArmor و MySql رو مجددا راه اندازی کنیم:

$ sudo service apparmor reload
$ sudo service mysql restart


بعد از انجام این مراحل باید سرویس MySql شما بدون هیچ مشکلی اجرا بشه و اطلاعات شما رو توی مسیر جدید ذخیره کنه.



منبع: http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html

  • علی مقدس زاده

اگر نرم افزاری دارید که از MySql استفاده می‌کنه و باید بر روی ویندوز اجرا بشه، ممکن هست با مشکل کندی سرویس MySql تو ویندوز مواجه بشید. برای رفع این مشکل (تو اکثر مواقع) کافی هست برای اتصال به سرویس MySql به جای localhost از 127.0.0.1 استفاده کنید :)

  • علی مقدس زاده

اگر پسورد کاربر root سرویس MySql رو فراموش کردین، خیلی راحت می‌تونید با اجرای این چند تا دستور پسورد جدید کاربر root رو مشخص کنید:


$ sudo service mysql stop
$ sudo mysqld_safe --skip-grant-tables &
$ mysql -uroot
mysql> use mysql;
mysql> update user set password=PASSWORD("...new...password...") where User='root';
mysql> flush privileges;
mysql> quit
$ sudo service mysql start



  • علی مقدس زاده

اخیرا برای یک پروژه مجبور شدم اطلاعات نرم افزار قبلی مشتری رو که از پایگاه داده paradox استفاده می‌کرد رو استخراج کنم. برای این هدف زمان زیادی رو صرف جستجو کردم و چند تا نرم افزار پیدا کردم ولی به دلیل اینکه این نرم افزارها پولی بودن، فقط تعداد محدودی رکورد رو تبدیل می‌کردن به علاوه اینکه بعضی از این نرم افزارها ایراداتی هم داشتن، تا اینکه یک نرم افزار خوب برای لینوکس پیدا کردم. روال انجام کار رو در ادامه این پست میتونید مطالعه بفرمایید.

  • علی مقدس زاده