linux下MySql的安裝與配置

一鍵三聯,把mysql的安裝與配置也寫了,供各位參考。

--------------------------------------MySql的安裝與配置--------------------------------------

1 將下載的 壓縮包解壓到指定目錄

tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

卸載可能的相關組件,搜一下mariadb相關軟件,通通卸載(個人覺得不好使)。

rpm -e --nodeps mariadb-libs

安裝需要的庫

yum install libaio-devel -y

進入:cd /usr/local

建立文件夾 mysql

進行軟連接

ln -s /home/tools/mysql-5.7.26-linux-glibc2.12-x86_64/ mysql

添加mysql組:

sudo groupadd mysql

# 創建不可登錄的mysql用戶設置權限

useradd -s /sbin/nologin -M mysql ?

設置文件夾權限:

chown -R mysql:mysql /usr/local/mysql*

chown -R mysql:mysql?/home/data

chmod -R 755 /home/data

初始化mysql的庫,放在/home/data下:

?/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/data

變為全局命令:

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc ?# 持久化配置

source ~/.bashrc ?# 立即生效

-------------------------------------------my.cnf 的設置--------------------------------------------------------------

創建my.cnf 放到/etc下

[mysql]

default-character-set=utf8

[mysqld]

port=3306

basedir=/usr/local/mysql/

datadir=/home/data/

character-set-server=utf8

default-storage-engine=MyIsam

max_connections=100

collation-server=utf8_unicode_ci

init_connect='SET NAMES utf8'

innodb_buffer_pool_size=64M

innodb_flush_log_at_trx_commit=1

innodb_lock_wait_timeout=120

innodb_log_buffer_size=4M

innodb_log_file_size=256M

interactive_timeout=120

join_buffer_size=2M

key_buffer_size=32M

log_error_verbosity=1

max_allowed_packet=16M

max_heap_table_size=64M

myisam_max_sort_file_size=64G

myisam_sort_buffer_size=32M

read_buffer_size=512kb

read_rnd_buffer_size=4M

server_id=1

skip-external-locking=on

sort_buffer_size=256kb

table_open_cache=256

thread_cache_size=16

tmp_table_size=64M

wait_timeout=120

#默認的位置是/tmp/mysql.sock,其實更需要用默認的,因為一個數據庫往往會有兩三個以上的程序調用,特別是那種帶后臺的,往往和主服務器程序不是一個進程,甚至不是一個開發語言,為了減少不必要的特別設置的麻煩,就用默認路徑;這個看各位服務器人員的偏好了。

#強調一點:必須保持和下面client的設置一致。而且如果做開機自動啟動的話,也要保持一致!必須,必須,必須!

socket=/home/data/mysql.sock?

bind-address=0.0.0.0

#打開這個就是跳過密碼,一般不這么用

#skip-grant-tables??

[client]

port=3306

default-character-set=utf8

socket=/home/data/mysql.sock

------------------------------------Mysqld.service 的配置--------------------------------------------------------

Mysqld.service 的配置:

放在/etc/systemd/system下

[Unit]

Description=MySQL Server

After=network.target

[Service]

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld ?--basedir=/usr/local/mysql ?--datadir=/home/data --pid-file=/home/data/mysql.pid ?--socket=/home/data/mysql.sock??--port=3306

Restart=on-failure

[Install]

WantedBy=multi-user.target

重載配置:

sudo systemctl daemon-reload

設置開機啟動

systemctl enable mysqld.service

啟動服務

systemctl restart mysqld

查看狀態:

?systemctl status mysqld

確保mysql運行正常:

--------------------------------進入Mysql進行初始設置------------------------------------------------------

mysql -u root -p

?輸入臨時密碼:

進入Mysql:

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

FLUSH PRIVILEGES; ?-- 刷新權限查看數據庫是否其他地址可訪問:

使用新密碼 重新登錄mysql

[root@localhost local]# mysql -u root -p

Enter password: Welcome to the MySQL monitor.

?Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.26

MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT Host, User FROM mysql.user WHERE User='root';

+-----------+------+

| Host | User |

+-----------+------+

| localhost | root |

+-----------+------+

1 row in set (0.00 sec)

添加所有用戶可外部訪問,需要防火墻配合設置;允許某個地址ID進行訪問

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.00 sec)

?mysql> SELECT Host, User FROM mysql.user WHERE User='root';

?+-----------+------+

| Host | User |

+-----------+------+

| % | root |

| localhost | root |

+-----------+------+

2 rows in set (0.00 sec)

?mysql> FLUSH PRIVILEGES;?刷新生效

Query OK, 0 rows affected (0.00 sec)

添加本地IP可以訪問數據庫

?mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql>?SELECT Host, User FROM mysql.user WHERE User='root';

?+-----------+------+

| Host | User |

+-----------+------+

| % | root |

| 127.0.0.1 | root |

| localhost | root |

+-----------+------+

3 rows in set (0.00 sec) mysql>

查看所有庫

SHOW ?DATABASES;

為正確的樣子

------------------------------------------------------其他-----------------------------------------------------------

手動配置開機啟動mysql

使用/etc/rc.local文件(所有Linux版本)

編輯/etc/rc.local文件:

vim /etc/rc.local

在文件末尾添加啟動MySQL的命令:

sudo /etc/init.d/mysql start

確保/etc/rc.local文件有執行權限:

chmod 755?/etc/rc.local

加入開機啟動

echo 'export PATH=/usr/local/mysql/bin:$PATH'> /etc/profile.d/mysql.sh

-------------------------------------------打開外部防火墻訪問權限---------------------------------------------------

netstat -antp | grep 3306

firewall-cmd --list-ports | grep 3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

防火墻的處理:

/etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33(接口名稱需與實際一致)

ONBOOT=yes(確保開機自動啟動)

BOOTPROTO=dhcp(動態IP)或?BOOTPROTO=static(靜態IP)

ip link show ens33

ip link set ens33 up

# 關閉防火墻 systemctl stop firewalld

?# 臨時禁用 SELinux setenforce 0

# 使用 nmcli 啟用接口 nmcli connection up ens33

cd /etc/sysconfig/network-scripts/ rm -f ifcfg-eth* ifcfg-ens*.bak # 保留 ifcfg-ens33


systemctl restart network

systemctl stop NetworkManager

systemctl disable NetworkManager

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904596.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904596.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904596.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據庫原理與應用實驗二 題目七

利用sql建立教材數據庫,并定義以下基本表: 學生(學號,年齡,性別,系名) 教材(編號,書名,出版社編號,價格) 訂購(學號,書號,數量) 出版社(編號,名稱,地址) 1定義主碼、外碼、和價格、數量的取值范圍。 2 在三個表中輸入若干記錄,注意如果輸入違反完整…

什么是 HSQLDB?

大家好,這里是架構資源棧!點擊上方關注,添加“星標”,一起學習大廠前沿架構! Java開發人員學習Java數據庫連接(JDBC)的最簡單方法是試驗HyperSQL數據庫(又名HSQLDB)。 …

shell腳本--2

1、實時監控cpu、內存的shell腳本 #!/bin/bash# 獲取當前時間 DATE$(date "%Y-%m-%d %H:%M:%S")# 獲取CPU使用情況 CPU_USAGE$(top -b -n1 | grep "Cpu(s)" | awk {print $2 $4})# 獲取內存使用情況 MEMORY_USAGE$(free | grep Mem | awk {print $3/$2 *…

性能比拼: HTTP/2 vs. HTTP/3

本內容是對知名性能評測博主 Anton Putra HTTP/2 vs. HTTP/3 performance benchmark 內容的翻譯與整理, 有適當刪減, 相關指標和結論以原作為準 在本內容中,我們將比較 HTTP/2 和 HTTP/3 協議。 我們將使用 Terraform 和 Ansible 在 Google Cloud Platform (GCP) …

【Vue】組件自定義事件 TodoList 自定義事件數據傳輸

目錄 一、綁定 二、解綁 組件自定義事件總結 TodoList案例對數據傳輸事件的修改 總結不易~ 本章節對我有很大收獲, 希望對你也是!!! 本章節素材已上傳Gitee:yihaohhh/我愛Vue - Gitee.com 前面我們學習的clikc、…

Windows遠程連接MySQL報錯,本地navicat能連接MySQL

一、報錯 telnet 119.87.111.79 3306??“無法打開到主機的連接。在端口 3306: 連接失敗”?? 表明無法通過 TCP 協議連接到目標服務器的 3306 端口。 二、目的 (1)??Telnet 測試的目的?? Telnet 僅用于測試 ??TCP 端口是否開放??&#xff…

電池管理系統BMS三級架構——BMU、BCU和BAU詳解

儲能電站的電池管理系統(BMS)通常采用三級架構:從控(BMU)、主控(BCU)、總控(BAU)。這種分層設計實現了電池模組、簇、堆的分級管理和控制,確保系統運行的安全…

C++ 基礎復習

基礎復習 1.const引用為什么能引用臨時對象2.內聯函數的額外作用3. nullptr 1.const引用為什么能引用臨時對象 臨時對象(Temporary Object)是在表達式求值過程中隱式創建的對象,例如: 函數返回非引用類型的值 類型轉換&#xff0…

AI的出現,是否能替代IT從業者?

闡述觀點:AI 的出現不會完全替代 IT 從業者,但會深刻改變 IT 行業的工作方式和崗位結構。 AI 不會完全替代 IT 從業者的原因 AI 本身需要人來開發與維護 AI 模型、系統架構、數據管道等都需要 IT 專業人員來構建和優化。 例如:AI 工程師、M…

【服務器通信-socket】——int socket(int domain, int type, int protocol);

#include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); domain: AF_INET 這是大多數用來產生socket的協議&#xff0c;使用TCP或UDP來傳輸&#xff0c;用IPv4的地址 AF_INET6 與上面類似&#xff0c;不過是來用IPv6的地…

Python基本環境搭配

Python3 環境搭建 | 菜鳥教程 里面有直接跳轉 Fitten Code 按下 Tab 鍵接受所有補全建議&#xff1a; 按下 Ctrl→ 鍵(mac系統為Command→)接收單個詞補全建議&#xff1a; 用戶可通過點擊左上角工具欄中的Fitten Code – 開始對話或者使用快捷鍵CtrlAltC(mac系統為Contr…

C++負載均衡遠程調用學習之HOOK注冊機制

目錄 1.larV0.7-hook流程的說明 2.larV0.7-TCP_server集成鏈接HOOK函數 3.larV0.7-TCP_client集成鏈接HOOK注冊功能 1.larV0.7-hook流程的說明 ### 7.1 數據庫表相關查詢方法實現 ? 我們先實現一些基本的數據表達查詢方法&#xff1a; > lars_dns/src/dns_rout…

Rust 與 Golang 深度對決:從語法到應用場景的全方位解析

一、引言 在軟件開發的快速發展浪潮中&#xff0c;Rust 和 Golang&#xff08;Go 語言&#xff09;脫穎而出&#xff0c;成為開發者熱議的編程語言。Rust 憑借強大的內存安全性與卓越的性能備受贊譽&#xff0c;Golang 則以簡潔的語法和出色的并發處理能力贏得開發者青睞。本文…

C++負載均衡遠程調用學習之訂閱功能與發布功能

目錄 1.lars-DnsV0.1回顧 2.Lars-DnsV0.2-訂閱功能的訂閱模塊分析 3.Lars-DnsV0.2-訂閱模塊的類的單例創建及方法屬性初始化 4.Lars-DnsV0.2-發布功能的實現 5.Lars-DnsV0.2-發布功能的總結 6.Lars-DnsV0.2-訂閱流程復習 7.Lars-DnsV0.2-訂閱模塊的集成 8.Lars-DnsV0.2訂…

SurfSense開源程序是NotebookLM / Perplexity / Glean的開源替代品,連接到外部來源,如搜索引擎

?一、軟件介紹 文末提供程序和源碼下載 雖然 NotebookLM 和 Perplexity 等工具令人印象深刻&#xff0c;并且對于對任何主題/查詢進行研究都非常有效&#xff0c;但 SurfSense 通過與你的個人知識庫集成來提升這種能力。它是一個高度可定制的 AI 研究代理&#xff0c;連接到外…

基于OpenTelemetry的分布式鏈路追蹤Trace?實現(PHP篇)

目錄 引言一、OpenTelemetry是一套可觀測性標準協議二、分布式追蹤&#xff08;?Trace?&#xff09;是OpenTelemetry的核心功能之一三、OpenTelemetry的架構原理四、OpenTelemetry的分布式追蹤&#xff08;?Trace?&#xff09;實踐1、準備PHP環境2、下載SDK3、編寫實例代碼…

探索智能體的記憶:類型、策略和應用

AI Agent 中的記憶&#xff1a;類型、策略和應用 記憶實現是使智能體能夠保持上下文、從過去的交互中學習并做出明智決策的關鍵組成部分。與人類記憶非常相似&#xff0c;智能體記憶允許 AI 系統隨時間存儲、檢索和利用信息&#xff0c;從而為用戶創造更連貫和個性化的體驗。 …

leetcode 2395. Find Subarrays With Equal Sum

題目描述 代碼&#xff1a; class Solution { public:bool findSubarrays(vector<int>& nums) {int len nums.size();if(len <2)return false;unordered_set<int> table;int sum 0;for(int i 1;i < len;i){sum nums[i-1]nums[i];if(table.contains(…

Kubernetes(k8s)學習筆記(七)--KubeSphere 最小化安裝

前情提要 可視化操作面板對于開發、運維絕對是提升工作效率的一大利器&#xff0c;因此很有必要搭建一套可視化操作來管理Kubernetes。 可視化面板有多種&#xff1a; 1.Kubernetes官方提供的默認面板&#xff1a;dashboard&#xff0c;用處不大&#xff0c;放棄&#xff1b…

MCP連接Agent:AI時代的TCP/IP

介紹 2023年&#xff0c;生成式AI爆發。2024年&#xff0c;智能體&#xff08;Agent&#xff09;接棒成為AI新焦點。2025年&#xff0c;智能體似乎已經要開始爆發了。目前的智能體更像一個“單機App”&#xff1a;彼此不了解、無法通信&#xff0c;更不能協作。類似互聯網早期…