安裝mysql時,每次去網上找安裝步驟,質量參差不齊,還費時費力,索性將本次安裝過程記錄下來,方便以后參考查看。
准備材料:mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar
1.先卸載系統自帶的mariadb
查找命令:
rpm -qa | grep -i mariadb
然后根據查找出的列表分別進行卸載,命令為:
rpm -e --nodeps ******
2.解壓bundle.tar
注意先要建立一個文件夾再解壓:(mkdir ./mysql)
tar xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C ./mysql
3.安裝mysql
解壓后,按如下順序進行安裝:
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm
注意:單純安裝mysql,devel組件可不安裝,但是如果涉及使用python-devel組件及python訪問mysql的相關組件,則需要安裝:mysql-community-devel-5.7.35-1.el7.x86_64.rpm,否則會報錯:
Error: Package: 1:mariadb-devel-5.5.68-1.el7.x86_64 (os) Requires: mariadb-libs(x86-64) = 1:5.5.68-1.el7
實質就是缺少mysql-community-devel組件,導致有關python訪問mysql的各種組件安裝失敗。
參考:python實踐學習之《問題:centos7安裝mysql-devel出現包依賴問題》,特此感謝!
本次安裝到server時,報錯(如不報錯,請跳過):
error: Failed dependencies: libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.35-1.el7.x86_64 libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.35-1.el7.x86_64 libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.35-1.el7.x86_64
則通過如下命令安裝依賴項:libnuma
yum install numactl
4.mysql配置
安裝完成后,啟動mysql:
systemctl start mysqld.service
然后查找第一次啟動時生成的臨時密碼:
grep 'temporary password' /var/log/mysqld.log:
輸出如下所示:
2021-09-15T02:36:51.007047Z 1 [Note] A temporary password is generated for root@localhost: r/9kVoph#T+s
最后部分既是密碼,使用root登錄:
mysql -u root -p
登錄后,使用show databases或者show tables時,系統均提示,先修改root密碼,於是:
set password for root@localhost = password('******');
然后擴充root遠程權限(其實是建立一個root@%賬號),使之能遠程連接:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '*****' flush privileges;
修改mysql默認的端口號:
vi /etc/my.cnf
在[mysqld]下建立一行:
port=****
重啟mysql:
systemctl restart mysqld.service
查看本機端口監聽情況:
netstat -lnpt
如果看到剛剛設定的端口處於listen狀態即可。
然后打開系統防火牆特定端口,用於外部訪問數據庫:
firewall-cmd --zone=public --add-port=***/tcp --permanent
然后重啟防火牆:
systemctl restart firewalld.service
至此,配置完成,從外網測試連接成功即可。
