স্ক্রিপ্টের মধ্যে মাইএসকিএল বাইন্ড-ঠিকানা পরিবর্তন করা


10

শেল স্ক্রিপ্ট থেকে মাই সিএনএফ-তে মাইএসকিএল বাইন্ড-ঠিকানা পরিবর্তন করার সর্বোত্তম উপায় কী হবে? মাইসক্ল্যাডমিনের মতো কোনও সরঞ্জাম ব্যবহার করার কি উপায় আছে বা আমার কি সেড ব্যবহার করা উচিত বা আমি কেবল এটি my.cnf এ যুক্ত করা উচিত এবং আশা করি যে দ্বিতীয় এন্ট্রি প্রথমটি ওভাররাইট করে (এটি অসুস্থ শোনায়)। আমি ভিজ্যান্টের জন্য একটি সহজ শেল প্রভিজার লেখার চেষ্টা করি যা মাইএসকিএল-সার্ভার ইনস্টল করার পরে চলে যায় যা ভিএম এর বাইরে থেকে সংযোগের অনুমতি দেয়।

উত্তর:


17

@ ননসেনজ যা বলেছে তাতে যুক্ত করে, আপনি যদি পুপ্পেট ডট কমের প্রভিশনিং স্ক্রিপ্ট ব্যবহার করেন তবে আপনি / পিপ্পেট / ফাইলস / স্টার্টআপ-সর্বদা ফোল্ডারে বাশ ফাইল যুক্ত করতে পারেন এবং আপনার সমস্ত কমান্ড সেখানে রেখে দিতে পারেন। যেকোন সময় অসভ্যতা শুরু হয় বা পুনরায় লোড হয়ে যায় এটি স্ক্রিপ্টটিকে কল করবে:

mysql.sh

#!/bin/bash

echo "Updating mysql configs in /etc/mysql/my.cnf."

if [ 'sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf' ]; then

    echo "Updated mysql bind address in /etc/mysql/my.cnf to 0.0.0.0 to allow external connections."

    sudo /etc/init.d/mysql stop
    sudo /etc/init.d/mysql start

fi

আরও ভাল (ক্লিনার আউটপুট সক্ষম করতে)

mysql.sh

#!/bin/bash

echo "Updating mysql configs in /etc/mysql/my.cnf."
sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
echo "Updated mysql bind address in /etc/mysql/my.cnf to 0.0.0.0 to allow external connections."
sudo service mysql stop
sudo service mysql start

এটি আমাকে আমার আইডিই (পিএইচপিস্টোরম) সরাসরি আমার অতিথির মেশিনে ডেটাবেসে ভিজান্টের মাধ্যমে সংযুক্ত করতে সক্ষম করে। অবশ্যই আমি অতিথি মাইএসকিএল ব্যবহারকারীকে '%' এ অ্যাক্সেস দিয়েছি এবং অতিথির উপরের পোর্ট 3306 হোস্টের একটি বন্দরে (3309) ফরোয়ার্ড করেছি। অ্যাক্সেস অনুদানটি এই ফাইলটিতেও করা যেতে পারে।

এমনকি বেটার'আর (মাইএসকিএল এক্সিকিউট এক্স অ্যাড)

mysql.sh

#!/bin/bash

echo "Updating mysql configs in /etc/mysql/my.cnf."
sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
echo "Updated mysql bind address in /etc/mysql/my.cnf to 0.0.0.0 to allow external connections."

echo "Assigning mysql user user1 access on %."
sudo mysql -u user1 -pyourpassword --execute "GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' IDENTIFIED BY 'yourpassword' with GRANT OPTION; FLUSH PRIVILEGES;" yourdatabase
echo "Assigned mysql user user1 access on all hosts."

sudo service mysql stop
sudo service mysql start

নীচে স্ক্রিপ্টটি আমার জন্য কয়েকটি ছোট বিট বার করার জন্য নিখুঁত ছিল (সেন্টস 6.৫ বাক্স) - sudoফলে "দুঃখিত, আপনার অবশ্যই একটি টিটি" ত্রুটি থাকতে হবে (বিবৃতি থেকে কেবল 'সুডো' অপসারণের মাধ্যমে স্থির করা হয়েছে) এবং আমার মাইএসকিউএল পরিষেবাটি পুনরায় চালু করা হয়েছিল /etc/init.d/mysqld stopএবং /etc/init.d/mysqld start। এগুলি উভয়ই স্ক্রিপ্টের সাথে ত্রুটির পরিবর্তে কেবল সেন্টোস কিরক হতে পারে।
অ্যাডাম ওয়েস্টব্রুক

9

দেখে মনে হচ্ছে সেড এই প্রসঙ্গে সবচেয়ে সহজ উপায় (একটি পরিষ্কার ইনস্টল করার পরে):

sudo sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf 

2
augtool -s set '/files/etc/mysql/my.cnf/target[ . = "mysqld"]/bind-address 0.0.0.0'

উবুন্টু প্যাকেজটিকে 'অউজিয়াস-টুলস' বলা হয়


এই উত্তরের আরও কিছু ব্যাখ্যা দরকার।
ক্যাস্পার্ড

অউজিয়াস (অন্য উত্তরের একটি হিসাবে উল্লিখিত) ব্যবহারের ফলে কনফিগারেশন ফাইলগুলির হেরফের সম্ভব হয়। এই উদাহরণটি দেখায় যে এটি কীভাবে হয়।
পিটার চাইল্ডস

এই উত্তরটি ব্যবহার করার চেষ্টা থেকে: -sহ'ল "কোনও আপডেট স্বয়ংক্রিয়ভাবে সংরক্ষণ করুন"। setকর্মটি অউজিয়াস এই লাইনের সাথে এটি গ্রহণ করবে। /files/etc/mysql/my.cnfকোন অংশ / ফাইল অউজেস্ট কাজ করবে (এটি সমস্ত / ইত্যাদি লোড করে)। /targetডিকোড করা মানগুলির একটি (? অ্যারে?)। [ . = "mysqld"]যে কোনও লক্ষ্য সংখ্যার "mysqld" মান রয়েছে তা নির্বাচন করে। bind-address"মাইকিকিএলডি" বিভাগের বাইন্ড-ঠিকানা ক্ষেত্র, এবং স্থানটির পরে 0.0.0.0মানটি সেট করা হবে।
মাইক লুটজ

0

মনে হচ্ছে আপনি অউজিয়ার সন্ধান করছেন

প্রকল্প পাতা এখানে এবং কিছু ডকুমেন্টেশন এবং উদাহরণ এখানে আছে। মাইএসকিউএল স্টক লেন্স পৃষ্ঠায় অন্তর্ভুক্ত করা হয়েছে তবে দুর্ভাগ্যক্রমে ডকুমেন্টেশন এখন একটি 404 পৃষ্ঠায় লিঙ্ক করেছে।

এখানে পুতুলের মধ্যে এটি ব্যবহারের কয়েকটি উদাহরণ রয়েছে


বেশ মজার তো. তবে আমি মনে করি এই জাতীয় কিছু ব্যবহার করার আগে আমি কেবল
বেড

পুতুলপ্লেবস / ইনফিলে খুব কার্যকর কাজ হতে পারে, একবার আপনি যোদ্ধা থেকে মুক্তি পেয়ে পেশাদার কনফিগারেশন পরিচালনায় চলে যান ...
মাইকেল হ্যাম্পটন

1
অনুপ্রেরণা ইতিমধ্যে উপস্থিত থাকলে সিড পদ্ধতির কাজ হবে, যেহেতু বিভাগটি ইনফিলের ক্ষেত্রে গুরুত্বপূর্ণ। অজিয়ার পদ্ধতিটি নির্বিশেষে কাজ করবে, কারণ এটি প্রবেশকে সঠিক অবস্থানে রাখবে।
haphink
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.