Mysql的基本文件組成和配置方式
一、mysql安裝的三個(gè)文件路徑
| 路徑 | 官方用途 | 刪除后意味著什么 |
|---|---|---|
/data/mysql | 所有數(shù)據(jù)庫文件(表、索引、系統(tǒng)表、Undo/Redo 等) 相當(dāng)于 Windows 的 C:\ProgramData\MySQL\data | 數(shù)據(jù)全部消失,且無法恢復(fù)(除非有備份) |
/etc/mysql | 配置文件 總目錄 包含 my.cnf、*conf.d/*.cnf、SSL 證書、debian-start 腳本等 | 刪除后 MySQL 會(huì)退回編譯默認(rèn)值,端口、字符集、慢查詢等設(shè)置全部丟失 |
/var/log/mysql* | 錯(cuò)誤日志、慢查詢?nèi)罩尽⑼ㄓ貌樵內(nèi)罩?、二進(jìn)制日志 例如 error.log、slow.log、binlog.* | 刪除后無法追溯歷史故障、無法 point-in-time 恢復(fù)(若無遠(yuǎn)程 binlog 備份) |
一句話總結(jié)
/data/mysql= 數(shù)據(jù)命根子/etc/mysql= 配置命根子/var/log/mysql*= 日志命根子
生產(chǎn)環(huán)境請務(wù)必先 全量備份 再執(zhí)行 rm -rf。
二、開始配置mysql
# MySQL 二進(jìn)制壓縮包手動(dòng)安裝流程(Linux 通用) > 適用于官方 `.tar.gz` 解壓版,無需 rpm/apt,全步驟可復(fù)制粘貼。 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
1. 解壓安裝包
sudo tar -zxvf /path/to/mysql-<version>-linux-glibc2.12-<arch>.tar.gz -C /usr/local
解壓后得到目錄 /usr/local/mysql-<version>
(下文用 /usr/local/mysql 指代,可建軟鏈接方便升級(jí))
2. 創(chuàng)建系統(tǒng)用戶/組
sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql
-s /bin/false 禁止系統(tǒng)登錄,僅用于跑服務(wù)
3. 目錄權(quán)限
sudo chown -R mysql:mysql /usr/local/mysql-<version> sudo chmod 750 /usr/local/mysql-<version>
4. 初始化數(shù)據(jù)目錄
sudo /usr/local/mysql/bin/mysqld \ --initialize --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/data/mysql # 這個(gè)執(zhí)行指令之后應(yīng)該會(huì)在/etc下生成一個(gè)my.cnf 配置文件,方便后期進(jìn)行修改配置
比如:
# 添加以下內(nèi)容 [mysqld] bind-address = 0.0.0.0 port = 3306 user = mysql basedir = /home/doing/公共/programFiles/mysql datadir = /data/mysql socket = /tmp/mysql.sock log-error = /data/mysql/mysql.err pid-file = /data/mysql/mysql.pid character_set_server = utf8mb4 symbolic-links = 0 explicit_defaults_for_timestamp = true # 加上下面兩行可以免密碼登陸 skip-grant-tables skip-networking
- 控制臺(tái)會(huì)打印 臨時(shí) root 密碼,務(wù)必記錄
- 若目錄已存在且非空,請加
--initialize-insecure空庫(“空庫”不是指數(shù)據(jù)目錄為空,而是指 root 密碼為空,方便你第一次手動(dòng)做后續(xù)配置,但上線前務(wù)必自己設(shè)密碼。)

5. 配置環(huán)境變量
echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile source /etc/profile
也可寫入 ~/.bashrc 或 /etc/bash.bashrc
6. 啟動(dòng)服務(wù)
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql & #啟動(dòng)mysql服務(wù)這個(gè)時(shí)候就會(huì)生成對應(yīng)的socker文件 ps -ef | grep mysql # 驗(yàn)證是否存活
首次啟動(dòng)建議在前臺(tái)觀察日志:tail -f /usr/local/mysql/data/mysql.err
7. 修改 root 密碼
mysql -u root -p # 輸入臨時(shí)密碼 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;
8. 安全加固
sudo /usr/local/mysql/bin/mysql_secure_installation
按提示完成:
? 設(shè)置 root 密碼強(qiáng)度
? 移除匿名用戶
? 禁止 root 遠(yuǎn)程登錄
? 刪除 test 庫
? 重載權(quán)限表
9. 常用后續(xù)操作(可選)
| 任務(wù) | 命令示例 |
|---|---|
| 注冊系統(tǒng)服務(wù) | 見 support-files/mysql.server 或手動(dòng)寫 systemd 單元 |
| 開機(jī)自啟 | systemctl enable mysql |
| 備份 | mysqldump -uroot -p --single-transaction --routines --triggers --events db1 | gzip > db1_$(date +%F).sql.gz |
| 忘記密碼 | 停庫 → mysqld_safe --skip-grant-tables --skip-networking & → ALTER USER ... |
| 多實(shí)例 | 復(fù)制 my.cnf,改 port/datadir/socket,再啟動(dòng)一份 mysqld_safe |
10. 目錄結(jié)構(gòu)速記
/usr/local/mysql/ ├── bin # 客戶端/服務(wù)端可執(zhí)行文件 ├── lib # 動(dòng)態(tài)庫 ├── share # 錯(cuò)誤消息文件、字符集 ├── support-files # 示例配置與服務(wù)腳本 └── data # 初始化后生成的庫文件(需 chown mysql:mysql)
完成以上 8 步即可得到一套干凈、可生產(chǎn)使用的 MySQL 8.x 實(shí)例。
到此這篇關(guān)于Mysql的基本文件組成和配置的文章就介紹到這了,更多相關(guān)mysql文件組成和配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
完美解決mysql in條件語句只讀取一條信息問題的2種方案
使用mysql多表查詢時(shí)一個(gè)表中的某個(gè)字段作為另一表的in查詢條件,只能讀取一條信息,而直接用數(shù)字的話可以正常讀取2018-04-04
mysql installer web community 5.7.21.0.msi安裝圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql installer web community 5.7.21.0.msi,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
SELECT INTO 和 INSERT INTO SELECT 兩種表復(fù)制語句簡單介紹
Insert是T-sql中常用語句,Insert INTO table(field1,field2,...) values(value1,value2,...)這種形式的在應(yīng)用程序開發(fā)中必不可少2012-11-11
通過yum方式安裝mySql數(shù)據(jù)庫的全過程
當(dāng)工作需要部署mysql時(shí),通過手動(dòng)上傳安裝包以及依賴包的方式安裝mysql會(huì)比較麻煩,可以添加官方y(tǒng)um源,來實(shí)現(xiàn)自動(dòng)安裝依賴,方便快捷,下面這篇文章主要給大家介紹了關(guān)于通過yum方式安裝mySql數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2022-07-07
mysql處理添加外鍵時(shí)提示error 150 問題的解決方法
當(dāng)你試圖在mysql中創(chuàng)建一個(gè)外鍵的時(shí)候,這個(gè)出錯(cuò)會(huì)經(jīng)常發(fā)生,這是非常令人沮喪的2011-11-11

