মাইএসকিউএল 5.7.15 এ আপগ্রেড করা উবুন্টু 16.04 এ ক্র্যাশ হয়েছে


13

গত রাতে আমি আমার উবুন্টু ওএস আপগ্রেড করার চেষ্টা করেছি এবং মাইএসকিউএল 5.7.15 এর মধ্যে একটি পরিবর্তন ছিল। দেখে মনে হচ্ছে আপগ্রেড করা সফল হয়েছে কারণ মাইএসকিএল প্রচারিতভাবে কাজ করছে তবে ইনস্টলেশন বার্তাটি এই বার্তাটি দিয়ে কাজ বন্ধ করে দিয়েছে:

This installation of MySQL is already upgraded to 5.7.15, 
use --force if you still need to run mysql_upgrade

আমি প্রয়োজনীয় পদ্ধতিতে ইনস্টলেশন প্রক্রিয়াটি বাতিল করতে পারি না এবং কেবল এটি হত্যা করতে হবে। সুতরাং এটি কিছু সমস্যা হতে পারে এবং প্রতিটি অন্যান্য ইনস্টলেশন (ভবিষ্যতে) এটি আবার চেষ্টা করার চেষ্টা করে to

কীভাবে এই আপগ্রেডকে আটকাবেন বা সমাধান করবেন?

উত্তর:


12

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

  1. অনুমতি সহ আপনার ডাটাবেস ফাইলগুলি ব্যাক আপ করুন:

    sudo cp -avt /your/backup/directory /var/lib/mysql /etc/mysql/my.cnf
    
  2. মাইএসকিএল ফাইলগুলি মুছুন:

    sudo rm -rv /etc/mysql 
    
  3. দৌড়ের মাধ্যমে সম্পূর্ণ মাইএসকিউএল সরান:

    sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7 mysql-client-5.7 mysql-client-core-5.7
    

    সিনাপটিক ব্যবহারের পরামর্শ দেওয়া হয়।

  4. এই ফোল্ডারগুলি তৈরি করুন:

    sudo mkdir -p /etc/mysql/conf.d
    

    মাইএসকিএল সেটআপ এটি স্বয়ংক্রিয়ভাবে করে নি এবং কেন জানি না।

  5. আবার মাইএসকিউএল ইনস্টল করুন

    sudo apt install mysql-server
    

    sudo apt install lamp-server^পরিবর্তে আমি পিএইচপি উন্নয়নের জন্য অন্যান্য নির্ভরতা ইনস্টল করতে ব্যবহার করেছি ।

  6. মাইএসকিউএল বন্ধ করুন:

    sudo service mysql stop 
    
  7. ডাটাবেস এবং ফাইলগুলি পুনরুদ্ধার করুন:

    sudo cp -a /your/backup/directory/mysql /var/lib   
    sudo cp /your/backup/directory/my.cnf /etc/mysql 
    
  8. মাইএসকিউএল পুনরায় চালু করুন:

    sudo service mysql start 
    

1
dpkg: পরিষ্কারের সময় ত্রুটি: সাব-প্রসেস ইনস্টল হওয়া পোস্ট স্ক্রিপ্ট ফিরে এসেছিল ত্রুটির প্রস্থান স্থিতি 1 প্রক্রিয়া করার সময় ত্রুটিগুলি দেখা দিয়েছে: mysql-server-5.7
স্টিভি জি

কী জিনিস সরানোর হয়: sudo rm /var/cache/debconf/config.dat, sudo rm /var/cache/debconf/passwords.datএবং sudo rm /var/cache/debconf/templates.dat। তারপরে সবকিছু মুছে ফেলুন। তারপরে একটি সিস্টেম পুনরায় বুট করুন।
স্টিভি জি

আমার একই সমস্যা ছিল এবং এই পদ্ধতিটি দিয়ে এটি সমাধান করেছি। আমি মাইএসকিউএল পরিষ্কার করার পরে একটি সিস্টেম পুনরায় বুট করার পরামর্শ দিচ্ছি। দেখে মনে হচ্ছে এটি স্টিভির দ্বারা প্রতিবেদন করা সমস্যাটিকে বাধা দেয়।
সুতুতু

4

আমি সবকিছু পরিষ্কার না করে এটি ঠিক করতে সক্ষম হয়েছি। মনে হচ্ছে সমস্যাটি হচ্ছে সিস স্কিমা ডাটাবেসটি কখনই তৈরি হয়নি, সুতরাং সমাধানটি এখানে দেওয়া হয়েছে:

  1. ক্লোন https://github.com/mysql/mysql-sys এবং ক্লোন ফোল্ডারে সিডি করুন।
  2. একটি টার্মিনালে, mysql -u root -p <./sys_57.sql চালান (বা আপনার সংস্করণ অনুসারে sys_56.sql)

আবার কাজ করে মাইএসকিএল_আপগ্রেড উপভোগ করুন। আমার ধারণা এটি সম্ভবত একটি আপগ্রেডিং স্ক্রিপ্টস গণ্ডগোল।


হ্যাঁ এটি ডেটাবেস আপগ্রেড করার ক্ষেত্রে একটি সমস্যা। দুর্ভাগ্যক্রমে আমি আপনার সমাধানটি আর এটি পরীক্ষা করে দেখতে পাচ্ছি না এটি কাজ করছে কিনা।
ওমিড

আমি এই সমাধানটি আমার মাইএসকিএল ৫.2.২২ ইন্সটলেশনে লিখেছি যে "মাইএসকিউএল-এর এই ইনস্টলেশনটি ইতিমধ্যে ৫.7.২২ এ উন্নীত হয়েছে, যদি আপনার এখনও মাইএসকিএল_গ্রেডগ্রেড চালানোর দরকার হয় তবে
ফোর্স ব্যবহার করুন

2

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

শেষ পর্যন্ত আমি সাফ করলাম

sudo apt purge mysql-server mysql-server-5.7

এবং এখানে মাইএসকিএল এর নির্দেশাবলী থেকে ম্যানুয়াল ইনস্টল অনুসরণ

আমি তখন আমার পুরানো ডেটা দিয়ে ডেটা ডিরেক্টরি ওভাররোট করি ote

sudo cp -Rfv /var/lib/mysql /usr/local/mysql/data

এবং অবশেষে এটির মতো একটি সিস্টেমযুক্ত পরিষেবা যুক্ত করা হয়েছে

/lib/systemd/system/mysql.service

[Unit]
Description=MySQL Server
After=syslog.target
After=network.target

[Service]
Type=simple
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /var/run/mysqld
ExecStartPre=/bin/chown mysql:mysql -R /var/run/mysqld
ExecStart=/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/lib/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
TimeoutSec=300
PrivateTmp=true
User=mysql
Group=mysql
WorkingDirectory=/usr

[Install]
WantedBy=multi-user.target

তারপরে দৌড়ে গেল

# systemctl daemon-reload
# systemctl enable mysql
# systemctl start mysql

তারপরে সবকিছু মনে হয়েছিল আগের মতো কাজ করছে এবং মাইএসকিএল সিস্টেম আপডেটগুলি ভাঙছে না

খারাপ দিকটি অবশ্যই, ভবিষ্যতে আমার ম্যানুয়াল আপডেটগুলি করা দরকার।


1

যদি আপনার রুট @ localhostঅ্যাকাউন্টের কোনও পাসওয়ার্ড না থাকে তবে এখানে বর্ণিত পোস্ট-ইনস্টল প্রক্রিয়াতে একটি বাগ রয়েছে (বিশেষত থ্রেডের শেষ মন্তব্যটি দেখুন)

  • সমস্ত TMP*ফাইল শুদ্ধ করুন/var/lib/mysql-files
  • ফাইলটি সম্পাদনা করুন /var/lib/dpkg/info/mysql-server-5.7.postinstএবং মন্তব্য করুন (# টি ব্যবহার করে) লাইন 370:

    echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'auth_socket';" >> "$initfile"

  • আবার দৌড়াও sudo dpkg --configure -a


ওহে প্রিয় আমাকে! <3 আপনি আমার জীবন রক্ষা করেছেন: পি উত্তরসূরীর জন্য দ্রষ্টব্য: আপনি আরও মাইএসকিএল আপডেট (যা একইভাবে ব্যর্থ হবে) রোধ করতে চাইতে পারেনapt-mark hold mysql-server-5.7
গ্যাব - মনিকা থেকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.