Centos7(阿里雲)安裝Mysql5.7

相信很多小夥伴都體驗過初學linux時安裝mysql的痛苦,這裏我總結了一下在centos7上安裝mysql5.7的步驟(我是裝在了阿里雲服務器上),如果你覺得本文對你有所幫助,麻煩點贊收藏支持下啦

mysql5.7安裝包(linux版):
鏈接:https://pan.baidu.com/s/1t2eILoJOP1zufHL83xTDFA
提取碼:en1i

1、安裝前的準備工作

1.1 執行安裝命令前,檢查並刪除默認安裝的mysql-libs/MariaDB

  • CentOS6
#查詢是否默認安裝了mysql-libs
rpm -qa|grep mysql

#如果存在mysql-libs的舊版本包如下:請先執行卸載命令
rpm -e --nodeps mysql-libs
  • CentOS7
#查詢是否默認安裝了mariadb
rpm -qa|grep mariadb

#如果存在如下,請先執行卸載命令:mariadb-libs-5.5.52-1.el7.x86_64(輸入你們對應查出來的版本)
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

1.2 檢查並安裝以下兩項依賴,

# 檢查
rpm -qa|grep libaio

rpm -qa|grep net-tools

# 安裝
yum install libaio -y

yum install net-tools -y

1.3 檢查並賦予 tmp 目錄權限

由於mysql安裝過程中,會通過mysql用戶在/tmp目錄下新建tmp_db文件,所以給/tmp較大的權限

執行 :

chmod -R 777 /tmp

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-5UPTEl1l-1607422190756)(imgs/wps8.jpg)]

2、正式安裝

上傳以下文件分別執行安裝

在mysql的安裝文件目錄下執行:(必須按照順序執行)

rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm 

rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

如果在安裝mysql-community-server前沒有事先安裝好前三個依賴環境會報錯

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-o1TfhZ6h-1607422190762)(imgs/wps9.jpg)]

3、查看MySQL版本號

執行mysqladmin --version命令,類似java -version打出消息,即爲成功。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6q6cb3AB-1607422190764)(imgs/1607416911725.png)]

4、mysql服務的初始化

如果你是以 root 身份運行 mysql 服務,需要執行下面的命令初始化

mysqld --initialize --user=mysql

--initialize選項默認以“安全”模式來初始化,會爲 root 用戶生成一個臨時密碼,登陸後你需要設置一個新密碼

查看生成的臨時密碼:

cat /var/log/mysqld.log

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DT8caDao-1607422190776)(imgs/wps10-1607415348867.jpg)]
把密碼粘貼複製保存一下,下面登錄修改密碼會用到

5、MySQL服務啓動/關閉/狀態命令

# 啓動:
systemctl start mysqld 

# 狀態: 
systemctl status mysqld

# 關閉:
systemctl stop mysqld

啓動mysql

6、root首次登錄/修改密碼

首次登錄:

輸入 mysql -uroot -p命令進行登錄

首次登陸通過需要錄入初始化密碼:

在Enter password 輸入剛纔保存的臨時密碼

修改密碼:

上面登錄進mysql後,輸入命令修改密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼'; 

設置完密碼就可以用新密碼登陸,正常使用數據庫了

7、退出登錄驗證

在mysql窗口輸入quit退出登錄

8、mysql自啓動

查看mysql是否自啓動(默認自啓動)

systemctl list-unit-files|grep mysqld.service

如不是enabled可以運行如下命令設置自啓動

systemctl enable mysqld.sercice

9、修改數據庫/表的字符集

爲什麼要修改字符集?

通過下面案例說明

創建測試數據庫:

create database mydb01;

切換到該數據庫:

use mydb

創建測試表:

create table mytbl(id int,name varchar(20));

測試插入中文數據:

insert into mytbl values(1,‘張三’);

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-urXrGk2l-1607422190780)(imgs/wps11.jpg)]
會發現插入報錯,原因是 mysql默認使用的字符集是Latin1,不支持中文字符,因此我們要把他修改成utf-8

修改步驟:

步驟一:

修改配置文件 vim /etc/my.cnf在最後加上中文字符集配置

character_set_server=utf8

步驟二:

重新啓動mysql systemctl restart mysqld並查看狀態systemctl status mysqld

已生成的庫表字符集變更:

上面修改了字符集後,再次往mytbl表執行insert語句的時候依然報錯,這是爲什麼呢?

我們使用命令查看上面在字符集更改前創建的庫表的字符集詳情

show create database mydb; #查看數據庫字符集詳情

show create table mytbl; #查看錶字符集詳情

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Qy8DJbbd-1607422190785)(imgs/wps12.jpg)]

原來是修改全局的對已生成的庫表字符集不會產生改變,下面我們對已生成的庫表字符集進行變更

  • 修改指定數據庫的字符集
alter database mydb character set 'utf8';
  • 修改指定數據表的字符集

    alter table mytbl convert to character set 'utf8';
    

如果數據庫已經存儲亂碼數據:更新數據或者刪除數據

10、使用navicat連接mysql

出現問題:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MVSntio1-1607422190788)(imgs/1607415725074.png)]

問題原因:

連接用戶名的訪問權限不足

解決辦法:授予權限

登錄mysql,授予通過網絡方式登錄的root用戶對所有庫所有表的全部權限

grant all privileges on *.* to root@'%' identified by '密碼';

最後需要刷新權限才能生效

flush privileges; 

11、開放端口/關閉防火牆

開放端口:

如果是在騰訊雲或阿里雲服務器上安裝的mysql,需要配置安全組,放行端口(以阿里云爲例)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-iUHIuF4r-1607423072961)(imgs/1607422818786.png)]

關閉防火牆:

輸入命令永久關閉防火牆

systemctl disable firewalld.service

12、mysql安裝相關文件位置

參數 路徑 解釋 備註
–basedir /usr/bin 相關命令目錄 mysqladmin mysqldump等命令
–datadir /var/lib/mysql/ mysql數據庫文件的存放路徑
–plugin-dir /usr/lib64/mysql/plugin mysql插件存放路徑
–log-error /var/lib/mysql/jack.atguigu.err mysql錯誤日誌路徑
–pid-file/ var/run/mysqld/mysqld.pid 進程pid文件
–socket /var/lib/mysql/mysql.sock 本地連接時用的unix套接字文件
/usr/share/mysql 配置文件目錄 mysql腳本及配置文件
/etc/systemd/system/multi-user.target.wants/mysqld.service 服務啓停相關腳本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章