從零開始 保姆級教程 Ubuntu20.04系統安裝MySQL8、服務器配置MySQL主從復制、本地navicat遠程連接服務器數據庫

從零開始:Ubuntu 20.04 系統安裝 MySQL 8、服務器配置 MySQL 主從復制、本地 Navicat 遠程連接服務器數據庫

    • 初始化服務器
      • 1. 更新本地軟件包列表
      • 2. 安裝 MySQL 服務器
      • 3. 查看 MySQL 安裝版本
      • 4. 登錄 MySQL 管理終端
      • 5. 設置 root 用戶密碼(推薦使用 native password 認證(可選,根據自己情況來定))
      • 6. 修改 root 用戶訪問權限(允許遠程登錄)(一方面也是為了本地連接服務器)
      • 7. 修改 MySQL 配置文件,允許遠程訪問(一方面也是為了本地連接服務器)
      • 8. 重啟 MySQL 服務(讓修改的配置生效)
      • 9. 防火墻相關配置
  • 特大注意(一定要在你租的服務器的安全組里增加一條端口3306的訪問規則,不然連接就會出現下面錯誤)
  • 配置主服務器mysql
  • 配置從服務器mysql
  • navicate遠程連接服務器mysql
  • 如果你配置過程中出現什么問題,歡迎評論區討論。

本文將介紹如何在 Ubuntu 20.04 系統中安裝 MySQL 8,并配置 MySQL 主從復制。適用于自建數據庫服務、開發環境數據同步測試等場景,同時支持通過 Navicat 等工具遠程連接服務器數據庫。


初始化服務器

1. 更新本地軟件包列表

sudo apt update

2. 安裝 MySQL 服務器

sudo apt install mysql-server

3. 查看 MySQL 安裝版本

mysql --version

輸出示例:

mysql  Ver 8.0.41-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

4. 登錄 MySQL 管理終端

sudo mysql

5. 設置 root 用戶密碼(推薦使用 native password 認證(可選,根據自己情況來定))

這里修改了認證規則為:mysql_native_password
mysql8默認是加密方式是:caching_sha2_password (更安全)
只要你的遠程連接方式支持chching_sha2_password加密規則,可以不用修改為native password加密規則。

alter user 'root'@'localhost' identified with mysql_native_password by '123456';

6. 修改 root 用戶訪問權限(允許遠程登錄)(一方面也是為了本地連接服務器)

---選擇數據庫
use mysql;---查詢root的訪問權限
select user, host from user where user='root';
---更新root的訪問權限, '%'表示全部IP都可以訪問
---'localhost' 表示只有本地可以訪問
update user set host = '%' where user = 'root';---刷新用戶權限
flush privileges;

7. 修改 MySQL 配置文件,允許遠程訪問(一方面也是為了本地連接服務器)

自mysql8版本中,mysql的配置文件被放在了 /etc/mysql/mysql.conf.d/mysqld.conf 文件中

sudo vim /etc/mysql/mysql.conf.d/mysqld.conf

找到bind-address, 修改為:

bind-address = 0.0.0.0

8. 重啟 MySQL 服務(讓修改的配置生效)

sudo systemctl restart mysql
或
sudo service mysql restart

9. 防火墻相關配置

建議先關閉防火墻,如果有需要可以自行搜索設置防火墻開放端口。
注意:打開防火墻記得一定要先開放個端口,不然你ssh就登不進去了,還得去服務器平臺遠程連接開啟。

查看防火墻狀態:sudo ufw status
關閉防火墻:sudo ufw disable
開啟防火墻:sudo ufw enable

檢查端口監聽情況

sudo ss -ltn

特大注意(一定要在你租的服務器的安全組里增加一條端口3306的訪問規則,不然連接就會出現下面錯誤)

錯誤

配置主服務器mysql

# 新增用戶賦權,并設置遠程訪問,當然你也可以直接使用root
create user 'repl'@'%' identified with mysql_native_password by '123456';# 授權
grant all privileges on *.* to 'repl'@'%' with grant option;# 刷新權限
flush privileges;# 查看主服務器狀態
show master
---下面是輸出例子:
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000009 |      157 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
---這里file是日志文件,從這個日志文件的第position位置開始備份
---后面要寫到 從數據庫 中配置# 修改主服務器 MySQL 配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.conf# 添加/修改以下配置
[mysqld]
server-id = 1                   # 主服務器唯一ID(必須與從服務器不同)# 重啟MySQL服務
sudo systemctl restart mysql

配置從服務器mysql

# 修改從服務器 MySQL 配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.conf# 添加/修改以下配置
[mysqld]
server-id = 2                   # 從服務器唯一ID(必須與主服務器不同)# 重啟MySQL服務
sudo systemctl restart mysql# 進入mysql
sudo mysql -u root -p123456# 配置 從服務器所要備份的主服務器信息(在mysql命令行中)
change master to
master_host = '123.123.123.123', # 填寫你的主服務器ip
master_user = 'repl', # 自己創建的用戶(授權的)或者root(授權的)
master_password = '123456', # 主服務器上面用戶mysql連接密碼
master_log_file = 'binlog.000009', # 主服務器的狀態中的 file, 主服務器show master status輸出的
master_log_pos = 157; # 主服務器的狀態中的position# 開啟從服務器
start slave;# 查看狀態
show slave status\G; # \G表示格式化輸出# 如果輸出中下面這兩個屬性值是Yes,即成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

navicate遠程連接服務器mysql

在這里插入圖片描述

如果你配置過程中出現什么問題,歡迎評論區討論。

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

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

相關文章

java怎么完善注冊,如果郵箱中途更換,能否判斷

解析在下面 附贈代碼 private static class CodeInfo {String code;long timestamp;CodeInfo(String code, long timestamp) {this.code code;this.timestamp timestamp;}}// 存儲驗證碼(郵箱 -> 驗證碼信息)(保證線程安全) 以免中途更改郵箱pri…

n8n 中文系列教程_01. 簡單易懂的現代AI魔法,n8n的快速了解與概念科普(文末有彩蛋)

1. 教程簡介 歡迎來到“無代碼工具探索”課程,這是專為非技術人員設計的指南(當然,技術人員也可以從中受益)。我們的目標是通過無代碼工具來提升工作效率,尤其是利用像 n8n 這樣的靈活數據庫平臺。這些工具被譽為“現…

解碼 Web Service:從技術原理到應用場景的深度剖析

Web Service 是一種基于網絡的、分布式的計算技術,它允許不同的應用程序之間通過網絡進行通信和交互。以下是關于 Web Service 的詳細介紹: 一、定義與概念 Web Service 是一種可以通過 Web 協議(如 HTTP)進行訪問的軟件組件&am…

Nacos啟動報錯

Nacos啟動是在單機模式下,不是集群模式 點擊startup.cmd啟動會報錯 打開bin目錄 rem是注釋的意思,在nacos1.3.2之后,nacos默認的都是集群模式,我們這里單機測試就是用單機模式。 也可以修改MODE,如果選擇不修改&…

uniapp-商城-26-vuex 使用流程

為了能在所有的頁面都實現狀態管理,我們按照前面講的頁面進行狀態獲取,然后再進行頁面設置和布局,那就是重復工作,vuex 就會解決這樣的問題,如同類、高度提煉的接口來幫助我們實現這些重復工作的管理。避免一直在造一樣…

Git 命令速查手冊

聽說用美圖可以釣讀者? 一、基礎操作核心命令 1. 倉庫初始化與克隆 命令作用示例git init創建新倉庫git init my-projectgit clone克隆遠程倉庫git clone [https://github.com/user/repo.git](https://github.com/user/repo.git)git remote add關聯遠程倉庫git re…

信息量、香農熵、交叉熵、KL散度總結

信息量 對于一個事件而言,它一般具有三個特征: 小概率事件往往具有較大的信息量 大概率事件往往具有較小的信息量 獨立事件的信息量相互可以相加 比如我們在買彩票這個事件中,彩票未中獎的概率往往很高,對我們而言一點也不稀…

使用C語言的cJSON中給JSON字符串添加轉義

在 cJSON 庫中,沒有直接提供 一個函數來專門給 JSON 字符串添加轉義(如將 " 轉義為 \",\n 轉義為 \\n 等)。 但 cJSON 在 序列化(cJSON_Print 或 cJSON_PrintUnformatted) 時會自動處理轉義字符…

宇樹機器狗go2—slam建圖(1)點云格式

0.前言 上一篇番外文章教大家如何在宇樹機器狗go2的gazebo仿真環境中實現簡單的導航運動,本期文章會教大家如何讓宇樹的機器狗go2在仿真環境中進行slam建圖時經常會遇到的一些點云格式,在后續的slam建圖和slam算法解析的時候會經常與這些點云信息打交道…

linux socket編程之udp(實現客戶端和服務端消息的發送和接收)

目錄 一.創建socket套接字(服務器端) 二.bind將prot與端口號進行綁定(服務器端) 2.1填充sockaddr_in結構 2.2bind綁定端口 三.直接通信(服務器端) 3.1接收客戶端發送的消息 3.2給客戶端發送消息 四.客戶端通信 4.1創建socket套接字 4.2客戶端bind問題 4.3直接通信即可…

第1期:Python基礎語法入門

1.1 Python簡介 Python是一種解釋型、面向對象、動態數據類型的高級編程語言。它設計簡潔,易于學習,適合初學者。Python廣泛應用于數據科學、人工智能、Web開發、自動化腳本等領域。它的語法簡潔易懂,強調代碼的可讀性。 1.2 安裝Python與配…

使用EXCEL繪制平滑曲線

播主播主,你都多少天沒更新了!!!泥在干什么?你還做這個賬號麻?!!! 做的做的(哭唧唧),就是最近有些忙,以及…… 前言&…

當算力遇上馬拉松:一場科技與肉身的極限碰撞

目錄 一、從"肉身苦修"到"科技修仙" 二、馬拉松的"新大陸戰爭" 三、肉身會被算法"優化"嗎? 馬拉松的下一站是"人機共生"時代 當AI能預測你的馬拉松成績,算法能規劃最佳補給方案,智能裝備讓訓練效率翻倍——你還會用傳…

MLLMs for TSAD ?

項目鏈接:Multimodal LLMs Advance Time Series Analysis 代碼鏈接:https://github.com/mllm-ts/VisualTimeAnomaly 出處:ICLR 2025 一 文章動機 多模態 LLM (MLLM) 通過 “視覺” 方式處理時序的潛力仍未充分探索; 人類檢測 “時序異常” 的自然方式:可視化、文本描…

開發基于python的商品推薦系統,前端框架和后端框架的選擇比較

開發一個基于Python的商品推薦系統時,前端和后端框架的選擇需要綜合考慮項目需求、開發效率、團隊熟悉度以及系統的可擴展性等因素。 以下是一些推薦的框架和建議: 后端框架 Flask 優點: 輕量級:Flask的核心非常簡潔,…

chili3d調試筆記2+添加web ui按鈕

onclick 查找 打個斷點看看 挺可疑的,打個斷點看看 挺可疑的,打個斷點看看 打到事件監聽上了 加ui了 加入成功 新建彈窗-------------------------------------- 可以模仿這個文件,寫彈窗 然后在這里注冊一下,外部就能調用了 對了…

【重學Android】1.關于@Composer注解的一點知識筆記

最新因為一些原因,開始重新學習Android及kotlin編程,也覺得可以順帶記錄下這個過程中的一些知識點,也可以用作日后自己查找復習。 Composable 注解在 Android 開發中的使用 Composable 是 Jetpack Compose(Android 的現代聲明式…

qt+mingw64+cmake+libqrencode項目編譯和搭建成功記錄

最近要使用高拍儀拍照獲取照片,然后識別照片中的二維碼數據、使用QZxing只能識別出一個條碼、另外一個條碼準備測試用其他的開源項目(如libqrencode-4.1.1)來進行測試,故進行本文的項目環境搭建測試,最后成功。 本機開…

【今日三題】判斷是不是平衡二叉樹(遞歸) / 最大子矩陣(二維前綴和) / 小蔥的01串(滑動窗口)

??個人主頁:小羊 ??所屬專欄:每日兩三題 很榮幸您能閱讀我的文章,誠請評論指點,歡迎歡迎 ~ 目錄 判斷是不是平衡二叉樹(遞歸)最大子矩陣(二維前綴和)小蔥的01串(滑動窗口) 判斷是不是平衡二叉樹(遞歸) 判斷是不是平衡二叉…

【Linux】線程ID、線程管理、與線程互斥

📚 博主的專欄 🐧 Linux | 🖥? C | 📊 數據結構 | 💡C 算法 | 🌐 C 語言 上篇文章: 【Linux】線程:從原理到實戰,全面掌握多線程編程!-CSDN博客 下…