相信很多小伙伴都體驗過初學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)]](https://img.uj5u.com/2020/12/10/203196101317371.png)
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)]](https://img.uj5u.com/2020/12/10/203196101317372.png)
3、查看MySQL版本號
執行mysqladmin --version命令,類似java -version打出訊息,即為成功,
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6q6cb3AB-1607422190764)(imgs/1607416911725.png)]](https://img.uj5u.com/2020/12/10/203196101317373.png)
4、mysql服務的初始化
如果你是以 root 身份運行 mysql 服務,需要執行下面的命令初始化
mysqld --initialize --user=mysql
--initialize選項默認以“安全”模式來初始化,會為 root 用戶生成一個臨時密碼,登陸后你需要設定一個新密碼
查看生成的臨時密碼:
cat /var/log/mysqld.log
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DT8caDao-1607422190776)(imgs/wps10-1607415348867.jpg)]](https://img.uj5u.com/2020/12/10/203196101317374.png)
把密碼粘貼復制保存一下,下面登錄修改密碼會用到
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)]](https://img.uj5u.com/2020/12/10/203196101317375.png)
會發現插入報錯,原因是 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)]](https://img.uj5u.com/2020/12/10/203196101317376.png)
原來是修改全域的對已生成的庫表字符集不會產生改變,下面我們對已生成的庫表字符集進行變更
- 修改指定資料庫的字符集
alter database mydb character set 'utf8';
-
修改指定資料表的字符集
alter table mytbl convert to character set 'utf8';
如果資料庫已經存盤亂碼資料:更新資料或者洗掉資料
10、使用navicat連接mysql
出現問題:
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MVSntio1-1607422190788)(imgs/1607415725074.png)]](https://img.uj5u.com/2020/12/10/203196101317377.png)
問題原因:
連接用戶名的訪問權限不足
解決辦法:授予權限
登錄mysql,授予通過網路方式登錄的root用戶對所有庫所有表的全部權限
grant all privileges on *.* to root@'%' identified by '密碼';
最后需要重繪權限才能生效
flush privileges;
11、開放埠/關閉防火墻
開放埠:
如果是在騰訊云或阿里云服務器上安裝的mysql,需要配置安全組,放行埠(以阿里云為例)
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-iUHIuF4r-1607423072961)(imgs/1607422818786.png)]](https://img.uj5u.com/2020/12/10/203196101317378.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 | 服務啟停相關腳本 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/232540.html
標籤:其他
上一篇:Centos8搭建服務監控prometheus+node_export+grafana
下一篇:實驗 2 DDNS配置與應用
