Mysql跨平臺(Windows,Linux,Mac)使用與安裝

来源:http://www.cnblogs.com/xuelongqy/archive/2016/04/27/5439229.html
-Advertisement-
Play Games

Mysql其實是一個跨平臺的輕量級資料庫,平時開發會用到很多。有寫程式可能要跨平臺開發,接下來我就介紹一下如何跨平臺使用Mysql。 這裡所謂的跨平臺就是Windows,Linux,Mac共同用一套Mysql配置包括所有用戶和資料庫等等。 原理:其實很簡單,就是配置的時候使用同一個文件夾存放即可。由 ...


Mysql其實是一個跨平臺的輕量級資料庫,平時開發會用到很多。有寫程式可能要跨平臺開發,接下來我就介紹一下如何跨平臺使用Mysql。

這裡所謂的跨平臺就是Windows,Linux,Mac共同用一套Mysql配置包括所有用戶和資料庫等等。

 

原理:其實很簡單,就是配置的時候使用同一個文件夾存放即可。由此也可以知道,Mysql的安裝文件和運行程式並不重要,備份的時候只要備份存放數據的文件夾即可,下次重裝或換設配時,設置到這個目錄即可。

 

下麵是各個平臺的安裝教程:

安裝前言:本教程中使用的都是zip版的安裝方式,這樣更加方便,跨平臺更容易

 

安裝中所需要的配置文件信息,Windows下文件命名為My.ini,Mac和Linux下為My.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
basedir = *此處填寫zip解壓的Mysql目錄,Windows下目錄最好打引號如"D:\\MysqlData",Mac和Linux不需要引號,如/media/*/Mysql。下同*
datadir = *此處填寫存放信息的目錄,跨平臺關鍵就在這裡,要跨平臺在這裡填寫不同平臺下的同一個目錄路徑就行了,目錄自己隨意*
port = 3306
# server_id = .....
character_set_server=utf8


# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[client]
port=3306
default-character-set=utf8

 

 

一、Windows

1.my.ini的配置


修改
basedir = "D:\\Mysql"(解壓的mysql目錄)
datadir = "D:\\MysqlData"(Mysql信息和資料庫的存放目錄)

my.ini放到解壓的mysql的目錄下

2.環境的配置
#例如:環境變數設置, 新建變數名 MYSQL_HOME , 變數值為 MySQL 安裝目錄路徑, 這裡為D:\Mysql(安裝路徑);在環境變數的 Path 變數中添加 %MYSQL_HOME%\bin;

3.以管理員許可權打開命令行,執行: mysqld --initialize --user=mysql --console,並記錄下密碼

4.執行安裝服務命令: mysqld -install

5.執行啟動服務命令: net start mysql

6.執行:mysql -u root -p

7.輸入剛纔的密碼

8.執行改密碼命令:set password = password('password');(加上最後的分號)

如果已經安裝過mysql了,datadir中在其他平臺上使用過這個目錄了或者備份過來的目錄,省去3和6~8。

 

二、Mac

1.my.cnf的配置

修改
basedir = /Volumes/*/Mysql (解壓的mysql目錄)
datadir = /Volumes/*/MysqlData (Mysql信息和資料庫的存放目錄)

複製my.cnf到/etc目錄下,可在root許可權或sudo下使用cp命令

2.配置環境變數

su
密碼
nano /etc/profile
在文件後面添加 { MYSQL_HOME
="/Volumes/*/mysql"(mysql路徑) PATH=".:$PATH:$MYSQL_HOME/bin" export MYSQL_HOME }
保存退出 source
/etc/profile

3.以管理員許可權打開命令行,執行: mysqld --initialize --user=mysql --console,並記錄下密碼

4.執行安裝服務命令: mysqld -install

5.執行啟動服務命令: cd到相應的mysql目錄執行./bin/mysqld_safe(不會開機自動啟用Mysql服務,所以用到的時候需要啟用,最好寫一個sh執行文件)

6.執行:mysql -uroot -p

7.輸入剛纔的密碼

8.執行改密碼命令:set password = password('password');(加上最後的分號)

9.擴展:關閉MySql cd到相應的mysql目錄執行mysqladmin -uroot -p shutdown

如果已經安裝過mysql了,datadir中在其他平臺上使用過這個目錄了或者備份過來的目錄,省去3和6~8。

 

三、Linux

1.my.cnf的配置

修改
basedir = /media/*/Mysql (解壓的mysql目錄)
datadir = /media/*/MysqlData (Mysql信息和資料庫的存放目錄)

複製my.cnf到/etc目錄下,可在root許可權或sudo下使用cp命令

2.配置環境變數

su
密碼
sudo gedit ~/.bashrc
在文件後添加 { export MYSQL_HOME
=/media/qingyi/DevelopmentTools/Linux/mysql(mysql路徑) export PATH=${MYSQL_HOME}/bin:$PATH }
保存退出 #source
~/.bashrc

3.以管理員許可權打開命令行,執行: mysqld --initialize --user=mysql --console,並記錄下密碼

4.執行安裝服務命令: mysqld -install

5.執行啟動服務命令: cd到相應的mysql目錄執行./bin/mysqld_safe

6.執行:mysql -uroot -p

7.輸入剛纔的密碼

8.執行改密碼命令:set password = password('password');(加上最後的分號)

9.擴展:關閉MySql cd到相應的mysql目錄執行mysqladmin -uroot -p shutdown

如果已經安裝過mysql了,datadir中在其他平臺上使用過這個目錄了或者備份過來的目錄,省去3和6~8。

 

更新及交流請關註我的微博:http://weibo.com/xuelongqy


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • copy與retain的區別: copy是創建一個新對象,retain是創建一個指針,引用對象計數加1。Copy屬性表示兩個對象內容相同,新的對象retain為1 ,與舊有對象的引用計數無關,舊有對象沒有變化。copy減少對象對上下文的依賴。 retain屬性表示兩個對象地址相同(建立一個指針,指針 ...
  • 傳值方式 1 初始化傳值:(順傳) 自定義初始化方法在 UI中,一般在一個界面推送另一個界面的時候,因此要是想用想到既然要用自定義初始化方法,至少要在該方法中去創建該對象.所以這種方式不適合回調. 自定義初始化方法,將需要傳遞的內容作為參數,如需要傳遞多個,則設置多個參數. 在合適的地方進行調用自定 ...
  • 傳值 1 順向傳值 順傳 屬性傳值 運行方式為 A à B 原理: 在B頁面的控制器中,創建需要的屬性,由於控制器是由 A 跳到 B 的,因此可以在 A 中拿到 B 中的屬性,直接賦值.(賦值在控制器跳轉的時候完成) 在 B 中定義一個屬性 在 A 中拿到 B 的非私有屬性 在 A 中直接對 A 拿 ...
  • title: Android學習路線總結,絕對乾貨 tags: Android學習路線,Android學習資料,怎麼學習android grammar_cjkRuby: true 一、前言 不知不覺自己已經做了幾年開發了,由記得剛出來工作的時候感覺自己能牛逼,現在回想起來感覺好無知。懂的越多的時候你 ...
  • 1、今天我們來分析Service中的一個小技巧:前臺服務(Forground Service) 【問題】:我們都知道服務是運行在後臺的,如果系統出現記憶體不足的情況,那麼此時,系統就可能回收後代的服務,那麼我們如何保證服務可以一直運行? 【解決】:在服務中,有一個前臺服務的概念,調用startForg ...
  • 廢話不多說,堅持自己一貫的風格,儘量把代碼寫的最簡單。一上效果圖,二上代碼,註釋都在代碼中。 效果圖是個美女,莫怪,代碼寫著寫著總會意淫一下,,, 一、引入相關包 二、整體佈局 這裡佈局就只有一個RecyclerView。 三、item佈局 這裡也是只有一個TextView。 四、封裝Adapter ...
  • 1. 簡單工廠模式 如何理解簡單工廠,工廠方法, 抽象工廠三種設計模式? 簡單工廠的生活場景,賣早點的小攤販,他給你提供包子,饅頭,地溝油烙的煎餅等,小販是一個工廠,它生產包子,饅頭,地溝油烙的煎餅。該場景對應的UML圖如下所示: 圖1:簡單工廠模式UML圖 簡單工廠模式的參與者: 工廠(Facto ...
  • 簡單的字元串類型數據寫. Poco在redis中會被序列化成Json字元串. Redis以快著稱, 以上寫法不是最快的.因為上邊迴圈中每次都是進行了一個獨立的Redis訪問, 即進行了一次Query, 返回了一個Response 更快的寫法是使用pipeline mode. Pipeline mod ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...