মাইএসকিউএল ব্যবহার করার জন্য জাঙ্গো সেট আপ করা হচ্ছে


171

আমি পিএইচপি থেকে কিছুটা দূরে সরে গিয়ে পাইথন শিখতে চাই। পাইথন দিয়ে ওয়েব ডেভলপমেন্ট করার জন্য আমার টেম্পলেট এবং অন্যান্য জিনিসগুলির সাথে সহায়তা করার জন্য একটি কাঠামো দরকার।

আমার একটি অ-প্রডাকশন সার্ভার রয়েছে যা আমি সমস্ত ওয়েব বিকাশ সামগ্রীর পরীক্ষার জন্য ব্যবহার করি। এটি একটি ডেবিয়ান 7.1 এলএএমপি স্ট্যাক যা সাধারণ মাইএসকিউএল-সার্ভার প্যাকেজের পরিবর্তে মারিয়াডিবি চালায়।

গতকাল আমি জ্যাঙ্গো ইনস্টল করেছি এবং ফার্স্টওয়েব নামে আমার প্রথম প্রকল্প তৈরি করেছি । আমি এখনও কোনও সেটিংস পরিবর্তন করি নি।

এখানে আমার প্রথম বিভ্রান্তির বড় অংশ রয়েছে। টিউটোরিয়ালে আমি লোকটি জ্যাঙ্গো ইনস্টল করেছিলাম, তার প্রথম প্রজেক্ট শুরু করেছি, অ্যাপাচি পুনরায় চালু করেছি এবং জ্যাঙ্গো তখন থেকেই কাজ করেছে। তিনি তার ব্রাউজারে গিয়ে কোনও সমস্যা ছাড়াই জ্যাঙ্গো ডিফল্ট পৃষ্ঠায় যান।

আমাকে তবে আমাকে আমার প্রথম ওয়েব ফোল্ডারে সিডি করতে হবে এবং চালাতে হবে

python manage.py runserver myip:port

এবং এটি কাজ করে। সমস্যা নেই. তবে আমি ভাবছি যে এটি কি এইভাবে কাজ করার কথা, এবং যদি এই সমস্যাটি লাইনের নিচে নেমে আসে?

আমার দ্বিতীয় প্রশ্নটি হ'ল আমি এটি সেট আপ করতে চাই যাতে এটি আমার মাইএসকিউএল ডাটাবেস ব্যবহার করে। আমি আমার সেটিংসে intoোকাচ্ছি / প্রথম / ওয়েলওয়েব / ফার্স্টওয়েব এর অধীনে এবং আমি ইঞ্জিন এবং NAME দেখতে পাচ্ছি তবে এখানে কী রাখব তা নিশ্চিত নই।

এবং তারপরে ব্যবহারকারী, পাসওয়ার্ড এবং হোস্ট অঞ্চলে এটি কি আমার ডাটাবেস এবং এর শংসাপত্রগুলি? আমি যদি লোকালহোস্ট ব্যবহার করছি তবে আমি কি কেবল এইচওএসটি অঞ্চলে লোকালহোস্ট স্থাপন করতে পারি ?


দ্রষ্টব্য: আজ 01/2016 হিসাবে অজগর 3.5.x এর জন্য কোনও মাইএসকিউএল ড্রাইভার নেই। স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 34456770/… দেখুন তাই কেবল পাইথন ৩.৪ পর্যন্ত ব্যবহার করুন। আপনি এখনও জ্যাঙ্গো 1.9 ব্যবহার করতে পারেন (01/2016 হিসাবে সর্বশেষ স্থিতিশীল প্রকাশ)।
টমাস টিন্তেরা

উত্তর:


316

মাইএসকিউএল সমর্থন যুক্ত করা সহজ। আপনার DATABASESঅভিধানে আপনার এইরকম একটি এন্ট্রি থাকবে:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}

জ্যাঙ্গো ১.7 হিসাবে আপনার কাছে মাইএসকিউএল বিকল্প ফাইলগুলি ব্যবহার করার বিকল্প রয়েছে । আপনি নিজের DATABASESঅ্যারেটি সেট করে এটি অর্জন করতে পারেন:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}

/path/to/my.cnfউপরের থেকে অনুরূপ সেটিংস সহ আপনার ফাইল তৈরি করতে হবে

[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8

জাজানো 1.7 এ সংযোগের এই নতুন পদ্ধতির সাথে, ক্রম সংযোগ স্থাপন করা জেনে রাখা গুরুত্বপূর্ণ:

1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.

অন্য কথায়, আপনি যদি অপশনগুলিতে ডাটাবেসের নাম সেট করেন তবে এটি NAME এর চেয়ে বেশি অগ্রাধিকার গ্রহণ করবে, যা মাইএসকিউএল বিকল্প ফাইলটিতে কোনও কিছুকে ওভাররাইড করে।


আপনি যদি কেবল নিজের লোকাল মেশিনে আপনার অ্যাপ্লিকেশনটি পরীক্ষা করে থাকেন তবে আপনি এটি ব্যবহার করতে পারেন

python manage.py runserver

ip:portযুক্তি যুক্ত করা আপনার নিজের ছাড়া অন্য মেশিনগুলিকে আপনার বিকাশ অ্যাপ্লিকেশনটি অ্যাক্সেস করতে দেয়। একবার আপনি আপনার আবেদন স্থাপন করার জন্য প্রস্তুত হয়, আমি অধ্যায়ের কটাক্ষপাত গ্রহণ সুপারিশ মোতায়েন জ্যাঙ্গো উপর djangobook

মাইএসকিএল ডিফল্ট অক্ষর সেটটি প্রায়শই utf-8 হয় না, সুতরাং এই স্কয়ারটি ব্যবহার করে আপনার ডাটাবেসটি তৈরির বিষয়টি নিশ্চিত করুন:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin

আপনি যদি ওরাকল এর মাইএসকিউএল সংযোগকারী ব্যবহার করেন তবে আপনার ENGINEলাইনের মতো দেখতে হবে:

'ENGINE': 'mysql.connector.django',

মনে রাখবেন যে আপনাকে প্রথমে আপনার ওএসে মাইএসকিএল ইনস্টল করতে হবে।

brew install mysql (MacOS)

এছাড়াও, মাইএসকিএল ক্লায়েন্ট প্যাকেজটি অজগর 3 এর জন্য পরিবর্তিত হয়েছে ( MySQL-Clientকেবল পাইথন 2 এর জন্য কাজ করে)

pip3 install mysqlclient

26

প্রথমদিকে পাইথন নির্ভরতা ইনস্টল করতে নীচের কমান্ডগুলি চালনা করুন অন্যথায় পাইথন রান্সার সার্ভারটি ত্রুটি ছুঁড়ে দেবে।

sudo apt-get install libmysqlclient-dev
sudo pip install MySQL-python

তারপরে # অ্যান্ডি দ্বারা নির্ধারিত সেটিংস.পি ফাইলটি কনফিগার করুন এবং শেষটি কার্যকর করুন:

python manage.py runserver

আনন্দ কর..!!


18

আপনি যদি পাইথন 3.x ব্যবহার করেন তবে কমান্ডের নীচে রান করুন

pip install mysqlclient

তারপরে সেটিং.পি লাইক পরিবর্তন করুন

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'DB',
     'USER': 'username',
    'PASSWORD': 'passwd',
  }
  }

1
আমি পাইথন ৩.6 দিয়ে ভার্চুয়ালেনভ ব্যবহার করছি। এটি আমার জীবন বাঁচায়। ধন্যবাদ. এছাড়াও, মাইএসকিএলে প্রথমে ডিবি তৈরির কথা মনে রাখবেন
ফ্রেড

15

উপরে যেমন বলা হয়েছে, আপনি https://www.apachefriends.org/download.html থেকে প্রথমে সহজেই xampp ইনস্টল করতে পারেন তারপরে নির্দেশাবলী অনুসরণ করুন:

  1. Http://www.unixmen.com/install-xampp-stack-ubuntu-14-04/ থেকে এক্সএ্যাম্প ইনস্টল করুন এবং চালনা করুন , তারপরে জিইউআই থেকে অ্যাপাচি ওয়েব সার্ভার এবং মাইএসকিউএল ডাটাবেস শুরু করুন
  2. আপনি নিজের ওয়েব সার্ভারটি যেমন চান তেমন কনফিগার করতে পারেন তবে ডিফল্টরূপে ওয়েব সার্ভার রয়েছে http://localhost:80এবং ডেটাবেস port 3306এবং পিএইচপিএমডায়মিনে রয়েছেhttp://localhost/phpmyadmin/
  3. এখান থেকে আপনি আপনার ডাটাবেসগুলি দেখতে এবং খুব বন্ধুত্বপূর্ণ জিইউআই ব্যবহার করে এগুলি অ্যাক্সেস করতে পারেন।
  4. আপনার জ্যাঙ্গো প্রকল্পে আপনি যে কোনও ডাটাবেস ব্যবহার করতে চান তা তৈরি করুন।
  5. আপনার settings.pyফাইলটি সম্পাদনা করুন :

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'DB_NAME',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'USER': 'root',
        'PASSWORD': '',
    }}
    
  6. নিম্নলিখিত প্যাকেজগুলি ভার্চুয়ালেনভে ইনস্টল করুন (আপনি যদি ভ্যাচুয়ালেনভিতে জ্যাঙ্গো ব্যবহার করেন তবে এটি আরও পছন্দসই):

    sudo apt-get libmysqlclient-dev ইনস্টল করুন

    পাইপ ইনস্টল মাইএসকিউএল-পাইথন

  7. এটাই!! আপনি জ্যাঙ্গোকে খুব সহজ উপায়ে মাইএসকিউএল দিয়ে কনফিগার করেছেন।

  8. এখন আপনার জাজানো প্রকল্পটি চালান:

    পাইথন ম্যানেজ.পি মাইগ্রেশন

    পাইথন ম্যানেজ.পি রানসরভার


7

আসলে, বিভিন্ন পরিবেশ, অজগর সংস্করণ ইত্যাদি নিয়ে অনেকগুলি সমস্যা রয়েছে। আপনার পাইথন ডেভ ফাইলগুলি ইনস্টল করার দরকারও থাকতে পারে, তাই ইনস্টলেশনটিকে 'ব্রুট-ফোর্স' করতে আমি এই সমস্ত চালাতে চাই:

sudo apt-get install python-dev python3-dev
sudo apt-get install libmysqlclient-dev
pip install MySQL-python
pip install pymysql
pip install mysqlclient

আপনি গ্রহণযোগ্য উত্তর সঙ্গে যেতে ভাল হওয়া উচিত। এবং এটি আপনার পক্ষে গুরুত্বপূর্ণ হলে অপ্রয়োজনীয় প্যাকেজগুলি সরিয়ে ফেলতে পারে।


7

এই আদেশগুলি চালান

sudo apt-get install python-dev python3-dev
sudo apt-get install libmysqlclient-dev
pip install MySQL-python 
pip install pymysql
pip install mysqlclient

তারপরে সেটিংস.পি লাইক কনফিগার করুন

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_db',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'USER': 'root',
        'PASSWORD': '123456',
    }
}

মাইএসকিএল সংযোগ উপভোগ করুন


4

অ্যান্ডির উত্তরটি সহায়তা করে তবে আপনার জাঙ্গো সেটিংয়ে আপনার ডাটাবেস পাসওয়ার্ড উদ্ঘাটন করার বিষয়ে যদি আপনার উদ্বেগ থাকে তবে আমি মাইএসকিএল সংযোগে জাঙ্গো অফিসিয়াল কনফিগারেশন অনুসরণ করার পরামর্শ দিই: https://docs.djangoproject.com/en/1.7/ref/datedias/

এখানে উদ্ধৃত:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}


# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8

'HOST': '127.0.0.1' কে সেটিংয়ে প্রতিস্থাপন করতে, কেবল এটি my.cnf এ যুক্ত করুন:

# my.cnf
[client]
database = NAME
host = HOST NAME or IP
user = USER
password = PASSWORD
default-character-set = utf8

আর একটি অপশন যা দরকারী, তা হ'ল জ্যাঙ্গোর জন্য আপনার স্টোরেজ ইঞ্জিন সেট করা, আপনি এটি আপনার সেটিং-এ চাইবেন।

'OPTIONS': {
   'init_command': 'SET storage_engine=INNODB',
}

4

settings.py

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'django',
    'USER': 'root',
    'PASSWORD': '*****',
    'HOST': '***.***.***.***',
    'PORT': '3306',
    'OPTIONS': {
        'autocommit': True,
    },
}

}

তারপর:

python manage.py migrate

যদি সাফল্য এই টেবিলগুলি তৈরি করে:

auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_migrations
django_session

এবং আপনি mysql ব্যবহার করতে পারেন।

এটি একটি শোকেসের উদাহরণ, জ্যাঙ্গো সংস্করণ 1.11.5 এর পরীক্ষা: জ্যাঙ্গো-পুল-শোকেস


3
  1. ইনস্টল করুন mysqlclient

sudo pip3 install mysqlclient

আপনি যদি ত্রুটি পান:

"পাইথন সেটআপ.পিআই ডিম_ইনফো" কমান্ডটি / টিএমপি / পিপ-ইনস্টল-ডিবিএলজিজি 4 টিএক্স / মাইএসকিএলসিলেট / তে ত্রুটি কোড 1 সহ ব্যর্থ হয়েছে

তারপর:

 1. sudo apt install libmysqlclient-dev python-mysqldb

 2. sudo pip3 install mysqlclient

  1. সেটিংস.পিটি পরিবর্তন করুন

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'website',
            'USER': 'root',
            'PASSWORD': '',
            'HOST': '127.0.0.1',
            'PORT': '3306',
            'OPTION': {'init_command':"SET sql_mode='STRICT_TRANS_TABLE',"},
        }
    }

1

মাইএসকিউএল ডাটাবেস ব্যবহারের জন্য এটি সেট আপ করার জন্য প্রদত্ত পদক্ষেপগুলি অনুসরণ করুন:

1) Install MySQL Database Connector :

    sudo apt-get install libmysqlclient-dev

2) Install the mysqlclient library :

    pip install mysqlclient

3) Install MySQL server, with the following command :

    sudo apt-get install mysql-server

4) Create the Database :

    i) Verify that the MySQL service is running:

        systemctl status mysql.service

    ii) Log in with your MySQL credentials using the following command where -u is the flag for declaring your username and -p is the flag that tells MySQL that this user requires a password :  

        mysql -u db_user -p


    iii) CREATE DATABASE db_name;

    iv) Exit MySQL server, press CTRL + D.

5) Add the MySQL Database Connection to your Application:

    i) Navigate to the settings.py file and replace the current DATABASES lines with the following:

        # Database
        # https://docs.djangoproject.com/en/2.0/ref/settings/#databases

        DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.mysql',
                'OPTIONS': {
                    'read_default_file': '/etc/mysql/my.cnf',
                },
            }
        }
        ...

    ii) Next, lets edit the config file so that it has your MySQL credentials. Use vi as sudo to edit the file and add the following information:

        sudo vi /etc/mysql/my.cnf

        database = db_name
        user = db_user
        password = db_password
        default-character-set = utf8

6) Once the file has been edited, we need to restart MySQL for the changes to take effect :

    systemctl daemon-reload

    systemctl restart mysql

7) Test MySQL Connection to Application:

    python manage.py runserver your-server-ip:8000

0

আপনাকে অবশ্যই প্রথমে একটি মাইএসকিউএল ডাটাবেস তৈরি করতে হবে। তারপরে settings.pyফাইলটি যান এবং 'DATABASES'আপনার মাইএসকিউএল শংসাপত্রগুলির সাথে অভিধানটি সম্পাদনা করুন :

DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.mysql',
 'NAME': 'YOUR_DATABASE_NAME',
 'USER': 'YOUR_MYSQL_USER',
 'PASSWORD': 'YOUR_MYSQL_PASS',
 'HOST': 'localhost',   # Or an IP that your DB is hosted on
 'PORT': '3306',
 }
}

ভ্যুচুয়ালেনভে মাইএসকিউএল ব্যবহার করতে জ্যাঙ্গো স্থাপনের জন্য এখানে একটি সম্পূর্ণ ইনস্টলেশন গাইড রয়েছে:

http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.