在docker中安裝mysql詳解
在docker中安裝mysql
ubuntu官方鏡像是精簡的ubuntu系統(tǒng),很多軟件和庫沒有安裝,所以直接安裝mysql的話依賴較多,建議直接從源碼編譯安裝mysql
通過命令行安裝
先啟動(dòng)一個(gè)容器,建議可以創(chuàng)建一個(gè)包含常用工具的便于自己使用的基本鏡像,比如:包含vim、net-tools、添加阿里云鏡像
1.安裝編譯環(huán)境
需要gcc、cmake等環(huán)經(jīng),因?yàn)槭褂胾buntu的官方源較慢,所以要添加阿里云的源,但是注意,不要覆蓋原來ubuntu的源,將阿里云的源放在/etc/apt/sources.list.d/aliyun.list,因?yàn)榘惭b下面這些工具的時(shí)候,如果使用阿里云的源有些包會(huì)找不到,導(dǎo)致依賴不滿足不能安裝
apt-get update && apt-get install make cmake gcc g++ bison libncurses5-dev build-essential
1.mysql 源碼包下載
下載鏈接: https://dev.mysql.com/downloads/mysql/ , 選擇合適的版本下載,這里選擇 mysql-5.6.34.tar.gz
tar -xvf mysql-5.6.34.tar.gz cd mysql-5.6.34
2.編譯安裝
配置構(gòu)建
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLETION=utf8_bin DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 # 參數(shù)說明,下面這些參數(shù)都可以在mysql安裝之后配置 CMAKE_INSTALL_PREFIX=/usr/local/mysql:mysql安裝路徑 MYSQL_DATADIR=/usr/local/mysql/data:mysql數(shù)據(jù)文件路徑 SYSCONFDIR=/etc:mysql配置文件路徑 DEFAULT_CHARSET=utf8:默認(rèn)字符集utf8 DEFAULT_COLLETION=utf8_bin:默認(rèn)的字符校驗(yàn)方式,比較二進(jìn)制(區(qū)分大小寫) DENABLED_LOCAL_INFILE=1:允許從本地導(dǎo)入數(shù)據(jù) MYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock:mysql網(wǎng)絡(luò)socket文件位置 MYSQL_TCP_PORT=3306:tcp端口
編譯安裝
make make install
1.配置
# 添加組和系統(tǒng)用戶 groupadd mysql useradd -g mysql mysql # 修改文件權(quán)限 chown -R mysql:mysql /usr/local/mysql # 創(chuàng)建配置文件,以編譯配置生成的配置文件模板添加自己的配置項(xiàng) cp /usr/local/mysql/upport-files/my-default.cnf /etc/my.cnf chown mysql:mysql /etc/my.cnf # 例如參考配置 [client] port = 3306 socket = /usr/local/mysql/data/mysql.sock [mysqld] port = 3306 socket = /usr/local/mysql/data/mysql.sock basedir = /usr/local/mysql datadir = /usr/local/mysql/data # 配置環(huán)境變量 echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile # 初始化數(shù)據(jù)庫 /usr/local/mysql/mysql_install_db --user=mysql # 啟動(dòng)mysql /usr/local/mysql/bin/mysqld_safe &
通過Dockerfile安裝
FROM ubuntu:latest ADD sources.list /root/sources.list RUN cp /root/sources.list /etc/apt/sources.list.d/aliyun.list RUN apt-get update && apt-get install -y make cmake gcc g++ bison libncurses5-dev build-essential ADD mysql-5.6.34 /root/mysql WORKDIR /root/mysql RUN mkdir build WORKDIR build RUN cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLETION=utf8_bin -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 RUN make RUN make install RUN groupadd mysql RUN useradd -g mysql mysql RUN chown -R mysql:mysql /usr/local/mysql RUN echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile # RUN source /etc/profile # 安裝腳本必須在/usr/local/mysql目錄下執(zhí)行,因?yàn)槔锩鏁?huì)使用相對路徑調(diào)用其他腳本 WORKDIR /usr/local/mysql RUN ./scripts/mysql_install_db --user=mysql --collation-server=utf8_general_ci EXPOSE 3036 CMD
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式
這篇文章主要介紹了docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Docker本地部署Firefox火狐瀏覽器并遠(yuǎn)程訪問的流程
在Docker中打開Firefox意味著我們將在一個(gè)Docker容器中運(yùn)行Firefox瀏覽器,下面是一個(gè)簡單的示例,演示如何在Docker中打開Firefox,本次實(shí)踐部署環(huán)境為本地環(huán)境,感興趣的朋友一起看看吧2023-11-11docker?運(yùn)行花生殼實(shí)現(xiàn)內(nèi)外網(wǎng)穿透的詳細(xì)過程
這篇文章主要介紹了docker?運(yùn)行花生殼實(shí)現(xiàn)內(nèi)外網(wǎng)穿透,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Docker網(wǎng)絡(luò)模型以及容器通信詳解續(xù)篇
這篇文章主要介紹了Docker網(wǎng)絡(luò)模型以及容器通信詳解續(xù)篇的相關(guān)資料,通過學(xué)習(xí)Docker網(wǎng)路驅(qū)動(dòng)模型,更好地解決容器間的通信問題,需要的朋友可以參考下2022-11-11Docker部署Java應(yīng)用程序的實(shí)現(xiàn)步驟
本文主要介紹了Docker部署Java應(yīng)用程序的實(shí)現(xiàn)步驟,通過將Java應(yīng)用程序打包成一個(gè)Docker鏡像,可以實(shí)現(xiàn)快速部署、資源隔離和靈活擴(kuò)展,感興趣的可以了解一下2024-03-03Linux環(huán)境docker部署Firefox結(jié)合內(nèi)網(wǎng)穿透遠(yuǎn)程使用瀏覽器測試的示例詳解
在Docker中打開Firefox意味著我們將在一個(gè)Docker容器中運(yùn)行Firefox瀏覽器,這對于一些特殊的測試場景非常有用,例如需要在不同版本的瀏覽器中進(jìn)行測試,下面是一個(gè)簡單的示例,演示如何在Docker中打開Firefox,感興趣的朋友跟隨小編一起看看吧2024-08-08