কিভাবে শেল কমান্ড থেকে একটি ডাটাবেস তৈরি করবেন?


175

আমি পোস্টগ্রাইএসকিউএল এর ক্রিয়েটব বা অন্য কোনও সমাধানের সন্ধান করছি যা শেল কমান্ডের সাহায্যে আমাকে ডাটাবেস তৈরি করতে দেয় allow কোন ইঙ্গিত?

উত্তর:


173
cat filename.sql | mysql -u username -p # type mysql password when asked for it

যেখানে ফাইলের নাম.এসকিউএল আপনার ডাটাবেস তৈরি করতে সমস্ত বর্গ স্কেল ধারণ করে। অথবা ...

echo "create database `database-name`" | mysql -u username -p

আপনি যদি সত্যিই কেবল একটি ডাটাবেস তৈরি করতে চান।


2
আমি এই ত্রুটিটি পেয়েছি ERROR 1046 (3D000) 27 লাইনে: যখন আমি প্রতিচ্ছবি চালিত করি তখন কোনও ডাটাবেস নির্বাচিত হয় না "তৈরি ডেটাবেস ডাটাবেস" | mysql -u -u ব্যবহারকারীর নাম -p কমান্ড
কের্তি

@ কেরথি: সম্ভবত আপনার ব্যবহারকারীর কোনও বিদ্যমান স্কিমাতে অধিকার নেই?
ক্রিস

2
এটি কারণ দুটি -uপতাকা আছে
স্টিফেন

@ ক্রিস আমি কি টার্মিনাল থেকে ডাটাবেসের নাম পড়তে পারি এবং ডাটাবেস তৈরি করতে ডাটাবেসের নাম হিসাবে পরিবর্তনশীল মানটি ব্যবহার করতে পারি?
ক্লিফর্ড পিওয়াই

ক্লিফোর্ড: আপনি সাধারণ শেল আর্গুমেন্ট ব্যবহার করে সাধারণ (বা) এস স্ক্রিপ্ট ব্যবহার করতে পারেন। ( stackoverflow.com/questions/23563043/shell-script-arguments ) সম্ভবত এটির নিজের প্রশ্নের যোগ্যতা রয়েছে।
ক্রিস

213

আপনি মানে যখন মাইএসকিএল পরিবেশ?

create database testdb;

অথবা সরাসরি কমান্ড লাইন থেকে:

mysql -u root -e "create database testdb"; 

11
mysql -u root -e "ডাটাবেস টেস্টডিবি তৈরি করুন"; আমি যা খুঁজছিলাম তা হ'ল :) ধন্যবাদ
koszikot

3
আপনার পাসওয়ার্ড থাকলে কেবল -পি যোগ করুন। এন্টার টিপানোর পরে, আপনাকে আপনার পাসওয়ার্ড জিজ্ঞাসা করা হবে। নীচে আমার ব্যবহারকারী যা মূল হিসাবে ব্যবহার করে এটির উদাহরণ (আপনার অ্যানোটার ব্যবহারকারীর নাম থাকলে এটি পরিবর্তন করুন) এবং এটি ডাটাবেসটির জন্য "oc_local" নামটিও ব্যবহার করে (যদি আপনি চান যে আপনার ডাটাবেসটিকে অন্যরকমভাবে ডাকা হবে) - ----> mysql -u মূল -p -e "ডাটাবেস oc_local তৈরি করুন";
পাবলোফিউমারা

1
হাই @ কোসজিকোট - আপনি যদি এটি খুঁজছিলেন তবে আপনার এটি সঠিক উত্তর হিসাবে গ্রহণ করা উচিত :-)
thejohnbackes

1
কমান্ড লাইন অপশনগুলি কী করে তা আমি জানতে চাই, অন্যের জন্য --e হল --execute = বিবৃতি সংক্ষিপ্ত রূপ। কমান্ড লাইন বিকল্পগুলি এখানে সন্ধান করুন dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html
অ্যান্টনি

70

আপনি যদি একটি নতুন ডাটাবেস তৈরি করেন তবে কেবলমাত্র এই ডাটাবেসের জন্য অনুমতি নিয়ে ব্যবহারকারী তৈরি করা ভাল (যদি কোনও কিছু ভুল হয়ে যায় তবে আপনি রুট ব্যবহারকারী লগইন এবং পাসওয়ার্ড নিয়ে আপস করবেন না)। সুতরাং সবকিছু একসাথে দেখতে হবে:

mysql -u base_user -pbase_user_pass -e "create database new_db; GRANT ALL PRIVILEGES ON new_db.* TO new_db_user@localhost IDENTIFIED BY 'new_db_user_pass'"

যেখানে:
বেস_উজার হল সমস্ত সুযোগ-সুবিধাগুলি ব্যবহারকারীর নাম (সম্ভবত মূল)
বেস_উজারের পাসওয়ার্ড এটি পাসওয়ার্ড (-p এবং বেস_উজার_পাসের মধ্যে জায়গার অভাব গুরুত্বপূর্ণ)
নতুন_ডিবি নতুন নাম তৈরি করা ডাটাবেসের নাম
নতুন_ডিবি_উসার নতুন ব্যবহারকারীর নাম অ্যাক্সেস সহ শুধুমাত্র new_db
new_db_user_pass এর জন্য এটি new_db_user এর পাসওয়ার্ড


বৃহদায়তন। সবেমাত্র এই দুর্দান্ত এক লাইনারকে ড্যাশডোকস স্নিপেটগুলিতে যুক্ত করা হয়েছে। যদি কারও কাছে স্পেস সহ একটি মূল পাসওয়ার্ড থাকে: -p"root password here"
ঠিকঠাক

37
mysqladmin -u$USER -p$PASSWORD create $DB_NAME

উপরের ভেরিয়েবলগুলি প্রতিস্থাপন করুন এবং আপনি এই অনলাইনারের সাথে যেতে ভাল। $ ব্যবহারকারী নাম ব্যবহারকারীর নাম, $ PASSWORD হল পাসওয়ার্ড এবং $ DB_NAME ডাটাবেসের নাম।


1
বহু বছর পরে এই প্রশ্নে ফিরে এসে লক্ষ্য করেছেন যে আমি এটিকে উজ্জীবিত করেছি: ডি
আইজ্যাক

20

ব্যবহার

$ mysqladmin -u <db_user_name> -p create <db_name>

আপনাকে পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে। এছাড়াও আপনি যে মাইএসকিএল ব্যবহারকারীর ডেটাবেস তৈরির অধিকার রয়েছে তাও নিশ্চিত করুন।


12

আইএসটি এবং দ্বিতীয় উত্তরটি ভাল তবে যদি কেউ স্ক্রিপ্টের সন্ধান করে বা আপনি যদি ডায়নামিক অর্থাৎ (ডিবি / ইউজার নেম / পাসওয়ার্ড ভেরিয়েবল) চান তবে এখানে:

#!/bin/bash



DB="mydb"
USER="user1"
PASS="pass_bla"

mysql -uroot -prootpassword -e "CREATE DATABASE $DB CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql -uroot -prootpassword -e "CREATE USER $USER@'127.0.0.1' IDENTIFIED BY '$PASS'";
mysql -uroot -prootpassword -e "GRANT SELECT, INSERT, UPDATE ON $DB.* TO '$USER'@'127.0.0.1'";


2

বেস ব্যবহারকারী ব্যবহার করে ডিবিতে সংযোগ করুন: mysql -u base_user -pbase_user_pass এবং ক্রিয়েট ডেটাবেস, ক্রিয়েট এবং গ্রেট প্রাইভেটিজ স্টেটমেন্টগুলি কার্যকর করুন।

Www.bugaco.com/helpers/create_datedia.html বিবৃতিতে আপনাকে সহায়তা করার জন্য সহজ ওয়েব উইজার্ড

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