इस लेख में, हम बाइनरी टैरबॉल MySQL इंस्टालेशन पर चर्चा करेंगे। हम बाइनरी टैरबॉल का उपयोग करके MySQL 8 की स्थापना पर चर्चा करेंगे और बाइनरी टैरबॉल का उपयोग करके CentOS 7 पर MySQL 8 स्थापित करेंगे। बाइनरी टैरबॉल आधारित इंस्टॉलेशन के अपने फायदे और नुकसान हैं, हम इसके माध्यम से जाएंगे। बाइनरी टैरबॉल से इंस्टॉलेशन लिनक्स वितरण या वितरण द्वारा उपयोग किए जाने वाले इनिट सिस्टम से स्वतंत्र है। इसका मतलब है कि एक ही स्थापना विधि उदाहरण के लिए आरपीएम और मृत आधारित सिस्टम पर काम करती है, लेकिन यह जनरल 2 जैसे अधिक विदेशी वितरण पर भी काम करेगी। मैकोज़ के लिए एक बाइनरी टैरबॉल भी उपलब्ध है और इंस्टॉलेशन प्रक्रिया बहुत अलग नहीं है, इस विधि को अधिक मैन्युअल शब्द की आवश्यकता है। MySQL 5.7 में mysql_install_db स्क्रिप्ट को हटा दिया गया था और इसे MySQL 8 से हटा दिया गया है। प्रारंभिक डेटाबेस निर्माण mysqld -initialize कमांड के साथ किया जा सकता है। अब जब हम मैन्युअल रूप से MySQL इंस्टॉल करेंगे तो हम खाली डेटाबेस बनाने के लिए mysqld -initialize कमांड का उपयोग करेंगे।
पहले कुछ सफाई करते हैं। हम mariadb-libs के बहुत पुराने संस्करण को हटा देंगे जो my.cnf प्रदान करता है जो हमारे साथ विरोध करेगा।
Mariadb libs निकालें:
[[email protected] ~]# sudo yum remove -y mariadb-libs
MySQL समुदाय सर्वेक्षण 8.0 का स्रोत टैरबॉल डाउनलोड करें
[[email protected] ~]# curl -L -O https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 575M 100 575M 0 0 7726k 0 0:01:16 0:01:16 --:--:-- 8516k
[[email protected] ~]# ll -rw-r--r--. 1 root root 603019898 Jul 23 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
टारबॉल डाउनलोड नहीं हुआ है तो चलिए इसे usr/लोकल में अनपैक करते हैं
[[email protected] ~]# sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
पूर्व-अनुरोधों को पूरा करना
चलो libaio स्थापित करें।
[[email protected] ~]# sudo yum -y install libaio
Create a MySQL group, this is normally done by the packages but because we are installing it manually from binary tarball now we need to do it.
[[email protected] ~]# sudo groupadd mysql
आइए आप एक MySQL उपयोगकर्ता बनाएं
[[email protected] ~]# sudo useradd -r -g mysql -s /bin/false mysql
सत्यापित करें कि mysql उपयोगकर्ता मौजूद है
[[email protected] ~]# getent passwd | grep mysql mysql:x:988:1001::/home/mysql:/bin/false
मिल गया /usr/स्थानीय और एक सिमलिंक बनाएं और फिर इसे जांचें
[[email protected] ~]# cd /usr/local [[email protected] local]# sudo ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql [[email protected] local]# ls -la mysql lrwxrwxrwx. 1 root root 35 Jul 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64
MySQL फाइल डायरेक्टरी बनाएं जो /usr/लोकल/
में खड़े रहने के दौरान डेटा सेट के स्वामित्व और अनुमतियों को बनाए रखेगी[[email protected] local]# sudo mkdir mysql-files [[email protected] local]# sudo chown mysql:mysql mysql-files [[email protected] local]# sudo chmod 750 mysql-files
MySQL प्रारंभ करें
Mysql निर्देशिका पर जाएँ और mysqld को इनिशियलाइज़ करें, पुराने संस्करणों में इसे mysql_installed_db
. कहा जाता था[[email protected] local]# cd mysql [[email protected] mysql]# sudo ./bin/mysqld --initialize --user=mysql 2020-07-23T12:12:10.028247Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) initializing of server in progress as process 25014 2020-07-23T12:12:15.470538Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: Hqn+jK6lfzNS 2020-07-23T12:12:18.875370Z 0 [System] [MY-013170] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) initializing of server has completed
ध्यान दें कि अस्थायी रूट पासवर्ड उत्पन्न होता है जो मेरे मामले में है ([email protected]:Hqn+jK6lfzNS)
init स्क्रिप्ट को सपोर्ट-फाइल्स से /etc/init.d
में कॉपी करें[[email protected] mysql]# sudo cp ./support-files/mysql.server /etc/init.d/
हमारे द्वारा अभी कॉपी की गई init फ़ाइल के साथ mysql सर्वर प्रारंभ करें
[[email protected] mysql]# sudo /etc/init.d/mysql.server start Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'. . SUCCESS!
अब पहले उत्पन्न अस्थायी पासवार्ड प्रदान करके ro mysql को कनेक्ट करें
[[email protected] mysql]# ./bin/mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.11 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
आइए रूट उपयोगकर्ता के लिए अस्थायी पासवार्ड को बदलें।
mysql> alter user 'root'@'localhost' identified by 'My_root_pass1!'; Query OK, 0 rows affected (0.07 sec)
सॉकेट फ़ाइल स्थान की जाँच करें:
mysql> show variables like 'socket'; +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | socket | /tmp/mysql.sock | +---------------+-----------------+ 1 row in set (0.01 sec)
जब आप MySQL के साथ काम कर रहे हों तो क्लाइंट प्रोग्राम का पथ नाम हमेशा टाइप करने से बचने के लिए, आप /usr/local/mysql/bin निर्देशिका को अपने PATH चर में जोड़ सकते हैं:
[[email protected] mysql]# export PATH=$PATH:/usr/local/mysql/bin
[[email protected] mysql]# ps -ef | grep mysql root 25130 1 0 15:16 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid mysql 25215 25130 1 15:16 pts/1 00:00:42 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid root 26171 21375 0 16:21 pts/1 00:00:00 mysql -uroot -px xxxxxxxxxxxx root 26191 25365 0 16:23 pts/2 00:00:00 grep --color=auto mysq