কমান্ড লাইন থেকে mysql রিমোট ডাটাবেস অ্যাক্সেস করুন


190

আমার র‌্যাকস্পেসের সাথে একটি সার্ভার রয়েছে। আমি আমার স্থানীয় মেশিন কমান্ড লাইন থেকে ডাটাবেস অ্যাক্সেস করতে চাই।

আমি চেষ্টা করেছি:

mysql -u username -h my.application.com -ppassword

তবে এটি একটি ত্রুটি দেয়:

ত্রুটি 2003 (HY000):

'My.application.com' এ মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না (10061)

কী কারণে এই ত্রুটি ঘটে এবং আমি কীভাবে দূরবর্তী ডাটাবেসে সংযোগ করতে পারি?


5
10061= সংযোগ প্রত্যাখ্যান করা হয়েছে
ড্যানি বেকেট

উত্তর:


289

রিমোট মাইএসকিএল কনসোলে সরাসরি লগইন করতে, নীচের কমান্ডটি ব্যবহার করুন:

mysql -u {username} -p'{password}' \
    -h {remote server ip or name} -P {port} \
    -D {DB name}

উদাহরণ স্বরূপ

mysql -u root -p'root' \
        -h 127.0.0.1 -P 3306 \
        -D local

ডকুমেন্টেশনে উল্লিখিত -p এর পরে কোনও স্থান নেই

এটি আপনাকে উল্লিখিত ডাটাবেসে স্যুইচ করে সরাসরি মাইএসকিএল কনসোলে নিয়ে যাবে।

31-07-2019 - সম্পাদিত বাক্য গঠন


23
আমাকে একক উদ্ধৃতিতে পাসওয়ার্ডটি ঘিরে রাখতে হয়েছিল। অর্থাত্mysql -u USERNAME -p'PASSWORD' -h REMOTE_SERVER_IP DB_NAME
নিক ব্র্যাডি

2
ডাটাবেসের নাম নির্দিষ্ট করতে আমাদের -D যুক্ত করতে হবে। mysql -u {ব্যবহারকারীর নাম} -p {পাসওয়ার্ড} -h {রিমোট সার্ভার ip} -D {DB নাম}
রনদীপস্প্প

1
আমাদের যদি নির্দিষ্ট পোর্ট নির্দিষ্ট করার দরকার হয়?
সার্জ 15

2
ম্যাকস হাই সিয়েরা সংস্করণ 10.13.3 এ টার্মিনালটিতে কাজ করেনি
রিয়েলপিকে


33

my.cnf ফাইল সম্পাদনা করুন:

vi /etc/my.cnf:

নিশ্চিত করো যে:

bind-address=YOUR-SERVER-IP

এবং যদি আপনার লাইন থাকে:

skip-networking

এটি মন্তব্য নিশ্চিত করুন:

#skip-networking

পুনরায় চালু করতে ভুলবেন না:

/etc/init.d/mysqld restart


বাইন্ড-ঠিকানা = আপনার-সার্ভার-আইপি। এখানে কোন আইপিটি উল্লেখ করতে হবে এটি কি দূরবর্তী সার্ভারের আইপি?
ব্যবহারকারী 1986299

@ ব্যবহারকারী1986299 না, আপনার সার্ভারের আইপি দরকার (দূরবর্তী নয়)
আলফাসিন

1
আপনার নিজের অ্যাক্সেসের অনুমতি দেওয়া উচিত ... স্থানীয় সার্ভার থেকে grant all privileges on *.* to 'root'@'%' identified by 'your-password'
মাইএসকিএল

5
'রুট' @ '%' এর আগে কখনও অনুদান দেবে না এটি একটি বিশাল সুরক্ষা!
josh123a123

1
@ আলফাসিন এটি একটি গভীর প্রভাবের সাথে একটি ছোট ঝলক, ধন্যবাদ!
ক্রিস্টোফার শনফেল্ড

30

এটি কেবল উমুন্টুতে টার্মিনালে রাখুন:

mysql -u username -h host -p

এখন এন্টার চাপুন

টার্মিনাল আপনাকে পাসওয়ার্ড জিজ্ঞাসা করবে, পাসওয়ার্ড লিখবে এবং আপনি ডাটাবেস সার্ভারে রয়েছেন


14

এই আদেশ ব্যবহার করে দেখুন mysql -uuser -hhostname -PPORT -ppassword

আমি একইরকম পরিস্থিতির মুখোমুখি হয়েছিলাম এবং পরে যখন হোস্টের জন্য মাইএসকিএল পোর্টটি কমান্ডের সাথে প্রবেশ করানো হয়েছিল, এটি সমাধান করা হয়েছিল।


5
mysql -u testuser -h 192.168.**.* -P 3306 -p passwordআমার জন্য কাজ করেছেন
মাহেব্বব এ সাইয়েদ

14

ম্যাকের জন্য, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

mysql -u app -h hostaddress -P port -D dbname -p

এবং তারপরে অনুরোধ করা হলে পাসওয়ার্ডটি প্রবেশ করান।


12

আপনি যদি ssh টানেলটি ব্যবহার করতে চান না, my.cnf বা mysqld.cnf এ আপনার ল্যানের অ্যাক্সেস পেতে আপনার স্থানীয় আইপি ঠিকানার ( 192.168.1.100 ) দিয়ে 127.0.0.1 পরিবর্তন করতে হবে । উদাহরণ স্বরূপ:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

My.cnf বা mysqld.cnf-বাইন্ড -ঠিকানা অনুসন্ধান করুন

bind-address            =  127.0.0.1

এবং পরিবর্তন 127.0.0.1 থেকে 192.168.1.100 (স্থানীয় IP ঠিকানা)

bind-address            =  192.168.1.100

আপনার করা পরিবর্তনটি প্রয়োগ করতে, অবশ্যই পরবর্তী কমান্ডটি ব্যবহার করে মাইএসকিএল সার্ভারটি পুনরায় চালু করতে হবে।

sudo /etc/init.d/mysql restart

ল্যান অ্যাক্সেসের জন্য ব্যবহারকারীর রুটটি সংশোধন করুন (দূরবর্তী সার্ভারে ক্যোয়ারির বেলো চালান যা আপনি অ্যাক্সেস করতে চান)

root@192.168.1.100:~$ mysql -u root -p

..

CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

যদি আপনি কেবল নির্দিষ্ট আইপি ঠিকানা থেকে অ্যাক্সেস পেতে চান তবে 'রুট' @ '%' থেকে 'রুট' @ '(আইপি ঠিকানা বা হোস্টনাম)' পরিবর্তন করুন

CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;
FLUSH PRIVILEGES;

তারপরে আপনি সংযোগ করতে পারেন:

nobus@xray:~$ mysql -h 192.168.1.100 -u root -p

উবুন্টু 18.04 সার্ভারে পরীক্ষিত


সেরা উত্তর! ধন্যবাদ
নাস্ট্রো

8
  1. চেষ্টা telnet 3306। যদি এটি সংযোগ না খোলে, হয় ফায়ারওয়াল সেটিংস রয়েছে বা সার্ভার শুনছে না (বা কাজ করে না)।

  2. netstat -anসার্ভার চালু আছে কিনা তা দেখতে সার্ভারে চালান ।

  3. এটি সম্ভব যে আপনি দূরবর্তী সংযোগগুলি মঞ্জুর করবেন না।

    HTTP দেখুন :


6

আমি ধরে নিই যে আপনি আপনার মেশিনে মাইএসকিউএল ইনস্টল করেছেন। নিখোঁজ বিশদটি পূরণের পরে নীচের আদেশটি কার্যকর করুন:

mysql -uUSERNAME -pPASSWORD -hHOSTNAME -P3306 



1

এই সমাধানটি আমার পক্ষে কাজ করেছে:

আপনার রিমোট মেশিনে (উদাহরণ: 295.13.12.53) আপনার টার্গেট রিমোট মেশিনে অ্যাক্সেস রয়েছে (যা mysql সার্ভার চালায়)

ssh -f -L 295.13.12.53:3306:10.18.81.36:3306 user@295.13.12.53

ব্যাখ্যা:

ssh -f -L your_ssh_mashine_ipaddress:your_ssh_mashine_local_port:target_ipaddress:target_port user@your_ip_address -N

আপনার_এসএইচ_ম্যাশাইন_প্যাড্রেস - এটি স্থানীয় আইপি ঠিকানা নয়, আপনি যে আইপি ঠিকানাটি লিখেছেন সেটি এই উদাহরণে 295.13.12.53

আপনার_এসএইচ_ম্যাশাইন_লোকাল_পোর্ট - এটি কাস্টম পোর্ট নয় 22, উদাহরণস্বরূপ এটি 3306।

টার্গেট_আইপিড্রেস - আপনি মেশিনটির আইপি যা আপনি ডিবি ডাম্প করার চেষ্টা করছেন।

টার্গেট_পোর্ট - 3306 এটি মাইএসকিউএল সার্ভারের জন্য বাস্তব পোর্ট।

ব্যবহারকারী @ আপনার_আইপি_এড্রেস - আপনি যে সংযোগটি সংযুক্ত করছেন এটি এই এসএসএস ম্যাশিনের জন্য এটি শংস শংসাপত্র

একবার এই সমস্ত হয়ে গেলে আপনার মেশিনে ফিরে যান এবং এটি করুন:

mysqldump -h 295.13.12.53 -P 3306 -u username -p db_name > dumped_db.sql

পাসওয়ার্ড চাইবে, আপনার পাসওয়ার্ড রাখবে এবং আপনি সংযুক্ত আছেন are আশাকরি এটা সাহায্য করবে.


1

এটি চেষ্টা করুন, এটি কাজ করছে:

mysql -h {হোস্টনেম} -u {ব্যবহারকারীর নাম} -p {পাসওয়ার্ড} -N -e "{এক্সিকিউট করতে {"



0

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

CREATE USER 'openvani'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'localhost WITH GRANT 
OPTION;
CREATE USER 'openvani'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

এখন আপনি নিম্নলিখিত কমান্ডের সাথে রিমোট মাইএসকিএল এর সাথে সংযোগ করতে পারেন।

mysql -u openvani -h 'any ip address'-p

এখানে সম্পূর্ণ পোস্ট:

http://openvani.com/blog/connect-remotely-mysql-server/


0

mysql সার্ভারগুলি সাধারণত লোকালহোস্ট (127.0.0.1) শোনার জন্য কনফিগার করা হয়, যেখানে সেগুলি ওয়েব অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হয় by

যদি এটি আপনার ক্ষেত্রে হয় তবে আপনার সার্ভারে আপনার এসএসএইচ অ্যাক্সেস রয়েছে তবে আপনি একটি এসএসএস টানেল তৈরি করতে পারেন এবং এর মাধ্যমে সংযোগ করতে পারেন।

আপনার স্থানীয় মেশিনে, টানেলটি তৈরি করুন।

ssh -L 3307:127.0.0.1:3306 -N $user@$remote_host

(এই উদাহরণটি স্থানীয় বন্দরটি 3307 ব্যবহার করে, যদি আপনার স্থানীয় মেশিনে মাইএসকিএলও চলে এবং মানক বন্দর 3306 ব্যবহার করা হয়)

এখন আপনার সাথে যোগাযোগের জন্য আলে হওয়া উচিত

mysql -u $user -p -h 127.0.0.1 -P 3307

0

এইটি আমার জন্য mysql 8 এ কাজ করেছে, hostnameআপনার হোস্টের নাম এবং port_numberআপনার পোর্ট_ নাম্বারের সাথে প্রতিস্থাপন করবে, যদি তিনি মূল না হন তবে আপনিও আপনার mysql_user পরিবর্তন করতে পারেন

      mysql --host=host_name --port=port_number -u root -p

এখানে আরও তথ্য


0

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

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