দূরবর্তী MySQL সার্ভারে কমান্ড লাইন অ্যাক্সেস


0

আমি একটি দূরবর্তী, শেয়ার্ড হোস্ট একটি ওয়েবসাইট প্রশাসক। আমার ওয়েব হোস্ট মাইএসকিউএল অফার করে, এবং আমি একটি GUI প্রোগ্রাম ব্যবহার করে আমার ম্যাক ওএস এক্স কম্পিউটার থেকে এটি অ্যাক্সেস করতে সক্ষম, Sequel প্রো । যে মহান কাজ করে।

কিন্তু আমি কিছু প্রশ্ন স্ক্রিপ্ট করতে চান, এবং Sequel প্রো স্ক্রিপ্টযোগ্য নয়। আমার কি করা উচিৎ?

আমি SSH মাধ্যমে MySQL এ টানেলিং সম্পর্কে পড়া করেছি। আমার সার্ভারে শেল অ্যাক্সেস আছে, তাই আমার ম্যাকের SSH কী সহ

ssh jerrykri@123.456.789.123 -p 7978

আমার মধ্যে পায়। MySQL পোর্ট 3306 কাজ টানেল করা উচিত? এটার মত?

ssh jerrykri@123.456.789.123 -L 3306: 127.0.0.1: 3306

(এটি একটি মিনিটের পরে "বার বার"।)

আমার ম্যাক এ MySQL ইনস্টল করতে হবে?

উত্তর:


0

মাইএসকিউএল সার্ভারে আপনাকে ফাইলটি সংশোধন করতে হবে my.cnf , যার অবস্থান OS তে নির্ভর করে: ডেবিয়ানতে, এটি / etc / mysql এ উদাহরণস্বরূপ। এটি সম্পাদনা করুন, লাইন খুঁজে

 [mysqld]

এবং এটি নিম্নলিখিত টেক্সট যোগ করুন:

 [mysqld]
 user            = mysql
 pid-file        = /var/run/mysqld/mysqld.pid
 socket          = /var/run/mysqld/mysqld.sock
 port            = 3306
 basedir         = /usr
 datadir         = /var/lib/mysql
 tmpdir          = /tmp
 language        = /usr/share/mysql/English
 bind-address    = The_IP_of_YOUR_MySQL_Server
 # skip-networking

এখানে, গুরুত্বপূর্ণ কি যে আপনি লাইন মন্তব্য লাফালাফি-নেটওয়ার্কিং , এবং আপনি লাইন, সন্নিবেশ বেঁধে-ঠিকানা , সার্ভার আইপি। সংরক্ষণ, MySQL (পুনরায়, এটি ওএস উপর নির্ভর করে) পুনরায় আরম্ভ করুন, স্বাভাবিক সঙ্গে MySQL অ্যাক্সেস

  mysql -u root -p mysql

এবং বিদ্যমান ডাটাবেসে আপনার নিজের দূরবর্তী আইপি থেকে অ্যাক্সেসের অনুমতি দিন:

  mysql> update db set Host='Your_own_remote_IP' where Db='webdb';
  mysql> update user set Host='Your_own_remote_IP' where user='webadmin';

এখন আপনার রিমোট সিস্টেমে ফিরে যান, এবং নতুন কার্যকারিতা পরীক্ষা করুন:

 mysql -u webadmin –h The_IP_of_theMySQL_Server –p

এই কাজ করার জন্য, অবশ্যই, আপনার ম্যাকের একটি মাইএসকিউএল ক্লায়েন্ট প্রয়োজন। আপনি এখন আপনার নিজস্ব MySQL প্রশ্নগুলি স্ক্রিপ্ট করতে পারেন, উদাহরণস্বরূপ, একটি ব্যাশ স্ক্রিপ্টে নিম্নরূপ:

  #!/bin/bash

  result=`mysql -h The_IP_of_theMySQL_Server --user=webadmin --password=Your_Password --skip-column-names -e "select id from mydb.mytable where myattribute = 3"`

সম্পাদনা করুন:

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


ধন্যবাদ, Marius। এবং, বাহ। আমি মনে করি আমার আরেকটি উপায় খুঁজে বের করতে হবে কারণ, শুরু করার জন্য, এটি একটি ভাগ করা হোস্ট এবং আমি / etc তে অ্যাক্সেস নেই। এই সত্যিই হতে হবে সুতরাং কঠিন, যদিও? আমি উল্লেখ করেছি যে জিওআই প্রোগ্রাম, সিকেল প্রো, ভাল কাজ করে এবং আমি মনে করি না যে আমি কখনও হোস্ট tweak ছিল। এটি প্রয়োজন সমস্ত অ্যাকাউন্ট তথ্য এবং প্রমাণপত্রাদি ছিল। আমি শুধু Sequel প্রো একটি কমান্ড লাইন সংস্করণ চাই। (আমি জানি, এটি ওপেন সোর্স তাই আমি ফর্ক এবং এক নিজেকে লিখতে পারে, কিন্তু আমি আগামীকাল এই কাজ করার আশা ছিল।)
Jerry Krinock

@ জেরি ক্রিনকাক আমার সম্পাদনা দেখুন।
MariusMatutiae

0

Ssh ব্যবহার করে আপনি দূরবর্তী কমান্ড চালাতে পারেন। তাই যদি আপনি কিছু প্রশ্ন স্ক্রিপ্ট করতে চান, এটি করার এক উপায়। সম্ভবত আপনি কি খুঁজছেন, কিন্তু সম্পর্কে একটি বিকল্প জানতে

চলুন হোস্ট বি আপনার এসকিউএল সার্ভার বলে। হোস্ট A ক্লায়েন্ট আপনি থেকে আপনার প্রশ্ন চালাতে চান

হোস্ট বিতে, আপনার প্রশ্নগুলি ফাইলগুলিতে রাখুন, উদাঃ। একটি "test.sql" ফাইল তৈরি করুন। আমার ক্ষেত্রে আমি শুধু "প্রদর্শন ডাটাবেস" রাখা

তারপর হোস্ট থেকে আপনি করতে পারেন

ssh [বিকল্প] "[চালানোর জন্য কমান্ড]"

Ssh এর সাথে পাসওয়ার্ডহীন লগইন সেট করুন (ssh-rsa অনুমোদন ব্যবহার করে)। "Ssh-keygen" এবং "ssh-copy-id" ব্যবহার করে। আপনি তারপর করছেন এই পরীক্ষা করতে পারেন

ssh [বিকল্প] "ls" এবং দেখুন এটি হোস্ট B এর ফলাফল "ls" করে কিনা

সেখানে থেকে আপনি করতে পারেন

ssh [বিকল্প] "mysql [বিকল্প] & lt; test.sql"

যে জানার জন্য?

আপনাকে আপনার mysql কমান্ডে একটি পাসওয়ার্ডও রাখতে হবে যা আপনি খুব বেশি নিরাপদ নয় এমন একজন ফ্যান হতে পারেন। আমি mysql তে অন্য "পাসওয়ার্ডহীন" লগইন দিয়ে পরীক্ষা নিই না, সম্ভবত সেই অংশটি করার আরেকটি উপায় রয়েছে।

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