系統(tǒng):Redhat linux 7.7
MySQL版本:5.7
1. MySQL下載
o 登錄網(wǎng)站:https://dev.mysql.com/downloads/mysql/
o 選擇合適版本與系統(tǒng)
- Select version:5.7.31
- Select operating system:Red Hat Enterprise Linux
- Select OS Version:Red Hat Enterprise Linux 7
- Download Packages:mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
- 點(diǎn)擊Download
2. MySQL安裝
(1) 卸載系統(tǒng)自帶Mariadb,mariadb是Mysql的一個(gè)分支,具有和mysql相同的API和命令行。
- 查看mariadb數(shù)據(jù)庫(kù):rpm -qa | grep mariadb
- 卸載mariadb:rpm -e --nodeps mariadb文件名
(2) 為了避免mysql有之前安裝的碎片,卸載mysql
- 查看與mysql數(shù)據(jù)庫(kù):rpm -qa | grep mysql
- 下載mysql數(shù)據(jù)庫(kù):rpm -e --nodeps mysql數(shù)據(jù)庫(kù)
(3) 刪除etc目錄下的my.cnf文件:
rm /etc/my.cnf
(4) 解壓 RPM 包
- 解壓mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar包,
tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
(5) 安裝 RPM 包
- 安裝如下幾個(gè)rpm包,需要按照如下順序安裝,因?yàn)橛行┌枰蕾嚕市枰凑找欢ǖ念~順序安裝:(注意命令雖然之間的空小,里面都會(huì)隔一個(gè)空格)
rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.31-1.el7.x86_64.rpm
(6) 安裝成功后,開啟mysql服務(wù):
systemctl start mysqld.service
- 可能遇到的問(wèn)題:在這里啟動(dòng)mysql服務(wù)時(shí)可能會(huì)遇到如下錯(cuò)誤:
錯(cuò)誤:Job for mysqld.service failed because the control process exited with error code.
--- 解決辦法:目前還沒(méi)有想到,查看了日志也沒(méi)有看出來(lái),最終通過(guò)卸載之前的裝的mysql,重裝解決了,出現(xiàn)這個(gè)問(wèn)題的原因可能是之前的mysql或者mariadb沒(méi)有卸載干凈。
--- 卸載mysql的命令同一中的方法。
(7) 查看 3306 端口是否成功開啟
netstat -ln | grep 3306
3. MySQL啟動(dòng)與初始化配置
(1) 啟動(dòng)并查看mysql進(jìn)程
(2) 使用root賬戶登錄,重置密碼時(shí)一般會(huì)遇到報(bào)
mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
(3) 修改 my.cnf 信息
vi /etc/my.cnf
添加如下信息:
skip-grant-tables
character_set_server=utf8
init_connect='SET NAMES utf8'
collation-server=utf8_general_ci
(4) 重啟mysql服務(wù):
systemctl restart mysqld.service
(5) 修改初始密碼:
cat /var/log/mysqld.log | grep password
將初始密碼復(fù)制下來(lái),輸入如下命令登陸mysql :
mysql –u root –p
將復(fù)制的密碼粘貼到命令行中,進(jìn)入了mysql,使用如下命令修改密碼:
set password=password('新密碼');
flush privileges;
# 修改 root 初始密碼
set password=password(‘123’)
# 可能彈出錯(cuò)誤
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 解決方案
set global validate_password_policy=0;
set global validate_password_length=1;
# 更改密碼
set password=password(‘1234’)
# 查看密碼策略方式
show variables like 'validate_password%';
# 退出 mysql
exit
# 暫停 mysql 服務(wù)
systemctl stop mysqld.service
# 修改 my.cnf
cat /etc/my.cnf
# 編輯my.cnf配置文件將:skip-grant-tables這一行注釋掉
# 重啟mysql服務(wù)
systemctl start mysqld.service
再次登錄mysql
mysql -uroot -p1234
4. MySQL遠(yuǎn)程連接
(1) 關(guān)閉防火墻或開放端口,以下可以 二選一:
o 方法一:關(guān)閉防火墻
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall開機(jī)啟動(dòng)
systemctl disable firewalld.service
o 方法二:開放端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
(2) 添加遠(yuǎn)程訪問(wèn)權(quán)限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 第一個(gè) root 為 用戶名,第二個(gè)root 為 密碼
# % -- 表示所有的電腦都可以連接,也可以設(shè)置某個(gè)ip地址運(yùn)行連接
flush privileges;
(3) 重啟服務(wù)
systemctl restart mysqld.service;
5. windows下連接MySQL
(1) 在windows下安裝 Navicat for mysql
(2) 打開 cmd,看是否能連接上服務(wù)器
ping 192.168.2.153
ssh -v -p 3306 root@192.168.2.153
(3)Navicat for mysql 連接
o 設(shè)置用戶與密碼
o 點(diǎn)擊鏈接測(cè)試看到如下內(nèi)容表示成功