在docker中安裝mysql詳解
在docker中安裝mysql
ubuntu官方鏡像是精簡的ubuntu系統(tǒng),很多軟件和庫沒有安裝,所以直接安裝mysql的話依賴較多,建議直接從源碼編譯安裝mysql
通過命令行安裝
先啟動一個容器,建議可以創(chuàng)建一個包含常用工具的便于自己使用的基本鏡像,比如:包含vim、net-tools、添加阿里云鏡像
1.安裝編譯環(huán)境
需要gcc、cmake等環(huán)經,因為使用ubuntu的官方源較慢,所以要添加阿里云的源,但是注意,不要覆蓋原來ubuntu的源,將阿里云的源放在/etc/apt/sources.list.d/aliyun.list,因為安裝下面這些工具的時候,如果使用阿里云的源有些包會找不到,導致依賴不滿足不能安裝
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.編譯安裝
配置構建
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 # 參數說明,下面這些參數都可以在mysql安裝之后配置 CMAKE_INSTALL_PREFIX=/usr/local/mysql:mysql安裝路徑 MYSQL_DATADIR=/usr/local/mysql/data:mysql數據文件路徑 SYSCONFDIR=/etc:mysql配置文件路徑 DEFAULT_CHARSET=utf8:默認字符集utf8 DEFAULT_COLLETION=utf8_bin:默認的字符校驗方式,比較二進制(區(qū)分大小寫) DENABLED_LOCAL_INFILE=1:允許從本地導入數據 MYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock:mysql網絡socket文件位置 MYSQL_TCP_PORT=3306:tcp端口
編譯安裝
make make install
1.配置
# 添加組和系統(tǒng)用戶 groupadd mysql useradd -g mysql mysql # 修改文件權限 chown -R mysql:mysql /usr/local/mysql # 創(chuà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 # 初始化數據庫 /usr/local/mysql/mysql_install_db --user=mysql # 啟動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í)行,因為里面會使用相對路徑調用其他腳本 WORKDIR /usr/local/mysql RUN ./scripts/mysql_install_db --user=mysql --collation-server=utf8_general_ci EXPOSE 3036 CMD
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
docker安裝RabbitMq添加用戶實現(xiàn)方式
這篇文章主要介紹了docker安裝RabbitMq添加用戶實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
Docker本地部署Firefox火狐瀏覽器并遠程訪問的流程
在Docker中打開Firefox意味著我們將在一個Docker容器中運行Firefox瀏覽器,下面是一個簡單的示例,演示如何在Docker中打開Firefox,本次實踐部署環(huán)境為本地環(huán)境,感興趣的朋友一起看看吧2023-11-11
docker?運行花生殼實現(xiàn)內外網穿透的詳細過程
這篇文章主要介紹了docker?運行花生殼實現(xiàn)內外網穿透,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
Linux環(huán)境docker部署Firefox結合內網穿透遠程使用瀏覽器測試的示例詳解
在Docker中打開Firefox意味著我們將在一個Docker容器中運行Firefox瀏覽器,這對于一些特殊的測試場景非常有用,例如需要在不同版本的瀏覽器中進行測試,下面是一個簡單的示例,演示如何在Docker中打開Firefox,感興趣的朋友跟隨小編一起看看吧2024-08-08

