Rumah > Artikel > pangkalan data > Bagaimana untuk memasang dan mengkonfigurasi MySQL 5.7 pada CentOS 7
Gambaran keseluruhan
Artikel sebelum ini merekodkan pemasangan dan konfigurasi MySQL 5.7 dalam sistem Windows Disebabkan keperluan untuk pemasangan dan penggunaan persekitaran data besar, kini perlu untuk memasang dan mengkonfigurasi MySQL 5.7 dalam sistem CentOS 7 daripada persekitaran CentOS 7 juga telah direkodkan, jadi pemasangan dan konfigurasi dijalankan terus di sini.
Pasang MySQL 5.7 daripada sumber yum
Pasang MySQL 5.7
Dalam sistem CentOS 7, fail sumber lalai sistem tidak mengandungi MySQL Secara langsung menggunakan sumber yum untuk melaksanakan arahan pemasangan akan menggesa "Tidak ada pakej mysql-community-server.":
Oleh itu, anda perlu melaksanakan perintah berikut secara manual untuk memuat turun fail pemasangan fail sumber:
1 # cd /home 2 # wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
dan kemudian laksanakan arahan pemasangan fail sumber:
1 # rpm -ivh mysql57-community-release-el7-11.noarch.rpm
Kini anda boleh memasang MySQL, laksanakan arahan berikut:
1 # yum install -y mysql-community-server
Tunggu seketika untuk muat turun dan pemasangan selesai:
Laksanakan seperti Perintah berikut, mulakan pangkalan data dan semak status pangkalan data:
1 # systemctl start mysqld 2 # systemctl status mysqld
Konfigurasikan MySQL 5.7
Versi pangkalan data ini akan dipasang dalam /var/log/mysqld Jana kata laluan pengguna akar rawak dalam fail .log Lihat fail untuk mendapatkan kata laluan:
1 # cat /var/log/mysqld.log
atau. gunakan arahan berikut:
1 # grep 'temporary password' /var/log/mysqld.log
Gunakan arahan berikut untuk log masuk ke pangkalan data MySQL:
1 # mysql -uroot -p
Kata Laluan Masukkan kata laluan yang baru anda temui untuk log masuk ke pangkalan data:
Gunakan arahan berikut untuk menukar kata laluan pengguna root:
1 > SET PASSWORD = PASSWORD('Password@123!');
Pangkalan data tidak dibuka untuk akses jauh secara lalai Gunakan arahan berikut untuk mengkonfigurasinya:
1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Password@123!' WITH GRANT OPTION;
Kemudian masukkan quit, tekan Enter untuk keluar dari log masuk pangkalan data, dan gunakan arahan. untuk membuka fail konfigurasi pangkalan data:
1 # vim /etc/my.cnf
Tetapkan set aksara pangkalan data kepada utf8mb4, dan tetapkan sql_mode kepada kumpulan sokongan mengikut pernyataan berikut:
1 [mysqld] 2 datadir=/var/lib/mysql 3 socket=/var/lib/mysql/mysql.sock 4 symbolic-links=0 5 log-error=/var/log/mysqld.log 6 pid-file=/var/run/mysqld/mysqld.pid 7 character-set-server = utf8mb4 8 collation-server = utf8mb4_unicode_ci 9 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 10 11 [mysql] 12 default-character-set = utf8mb4 13 14 [client] 15 default-character-set = utf8mb4 16
Nota:
Ia ditetapkan kepada utf8mb4 di sini: Pertama, kerana pengekodan utf8 hanya menyokong data 3-bait, dan data emotikon pada terminal mudah alih ialah aksara 4-bait, jadi memasukkan terus data emotikon ke dalam pangkalan data yang dikodkan utf-8 akan melaporkan pengecualian; Kedua, saya membaca artikel oleh master yang menyebut bahawa utf8 dalam MySQL bukanlah utf8 sebenar, jadi utf8mb4 digunakan.
Selepas konfigurasi selesai, laksanakan arahan berikut untuk memulakan semula perkhidmatan pangkalan data:
1 # systemctl restart mysqld
Gunakan kata laluan yang diubah suai untuk log masuk ke pangkalan data, dan laksanakan arahan berikut untuk melihat tetapan set aksara:
1 # SHOW VARIABLES LIKE 'character%';
Laksanakan arahan berikut untuk menyediakan perkhidmatan pangkalan data untuk dimulakan:
1 # systemctl enable mysqld
Pasang MySQL 5.7 daripada pakej termampat
Jika pelayan tidak boleh disambungkan ke Internet, anda tidak boleh menggunakan sumber yum untuk pemasangan Anda boleh menggunakan komputer dengan akses Internet, pergi ke laman web rasmi untuk memuat turun pakej termampat untuk pemasangan, dan kemudian menukar pelayan untuk memasang pakej termampat.
Mula-mula pergi ke laman web rasmi: https://www.mysql.com/ untuk memuat turun pakej pemasangan yang berkaitan:
Sambung dari jauh ke direktori /usr pada pelayan untuk mencipta mysql57:
1 # cd /usr 2 # mkdir mysql57
Gunakan Xftp untuk memuat naik pakej termampat ke direktori mysql57 pada pelayan:
Memandangkan mariadb dipasang secara lalai dalam sistem CentOS 7, gunakan arahan berikut untuk melihat dan menyahpasang mariadb:
1 # rpm -qa | grep mariadb 2 # rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
Kemudian gunakan arahan rpm untuk memasang:
1 # rpm -ivh *.rpm
Gunakan arahan berikut untuk memulakan perkhidmatan MySQL dan menyemak status perkhidmatan berjalan :
1 # systemctl start mysqld 2 # systemctl status mysqld
Pemasangan pangkalan data MySQL 5.7 selesai.
Konfigurasikan MySQL 5.7
Lihat fail log untuk mendapatkan kata laluan:
1 # grep 'temporary password' /var/log/mysqld.log
使用如下命令登录MySQL数据库:
1 # mysql -uroot -p
密码输入刚才查到的密码,即可登录数据库:
使用如下命令,修改root用户密码:
1 > SET PASSWORD = PASSWORD('******');
数据库默认远程访问未开放,使用如下命令进行配置:
1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
星号为root用户的密码(下图红色覆盖区域):
然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:
1 # vim /etc/my.cnf
设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:
1 [mysqld] 2 character-set-server = utf8mb4 3 collation-server = utf8mb4_unicode_ci 4 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 5 6 [mysql] 7 default-character-set = utf8mb4 8 9 [client] 10 default-character-set = utf8mb4 11
注意:
此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,执行如下命令重启数据库服务:
1 # systemctl restart mysqld
使用修改后的密码,登录数据库,执行如下命令查看字符集设置:
1 # SHOW VARIABLES LIKE 'character%';
执行如下命令,设置数据库服务开机启动:
1 # systemctl enable mysqld
为了方便查看不同安装方式的朋友,将记录了两种不同的安装方式的配置都记录下来,避免他们需要回头去查找配置信息。
Atas ialah kandungan terperinci Bagaimana untuk memasang dan mengkonfigurasi MySQL 5.7 pada CentOS 7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!