docker 容器裡安裝mysql

2022-04-15 01:41:40 字數 3067 閱讀 2311

ubuntu官方映象是精簡的ubuntu系統,很多軟體和庫沒有安裝,所以直接安裝mysql的話依賴較多,建議直接從原始碼編譯安裝mysql

先啟動乙個容器,建議可以建立乙個包含常用工具的便於自己使用的基本映象,比如:包含vim、net-tools、新增阿里雲映象

安裝編譯環境

需要gcc、cmake等環經,因為使用ubuntu的官方源較慢,所以要新增阿里雲的源,但是注意,不要覆蓋原來ubuntu的源,將阿里雲的源放在/etc/apt/sources.list.d/aliyun.list,因為安裝下面這些工具的時候,如果使用阿里雲的源有些包會找不到,導致依賴不滿足不能安裝

apt-get update && apt-get install make cmake gcc g++ bison libncurses5-dev build-essential

編譯安裝

配置構建

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:預設的字元校驗方式,比較二進位制(區分大小寫)

denabled_local_infile=1:允許從本地匯入資料

mysql_unix_addr=/usr/local/mysql/mysql.sock:mysql網路socket檔案位置

mysql_tcp_port=3306:tcp埠

編譯安裝

make

make install

配置

# 新增組和系統使用者

groupadd mysql

useradd -g mysql mysql

# 修改檔案許可權

chown -r mysql:mysql /usr/local/mysql

# 建立配置檔案,以編譯配置生成的配置檔案模板新增自己的配置項

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

# 配置環境變數

echo "path=$path:/usr/local/mysql/bin" >> /etc/profile

# 初始化資料庫

/usr/local/mysql/mysql_install_db --user=mysql

# 啟動mysql

/usr/local/mysql/bin/mysqld_safe &

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目錄下執行,因為裡面會使用相對路徑呼叫其他指令碼

workdir /usr/local/mysql

run ./scripts/mysql_install_db --user=mysql --collation-server=utf8_general_ci

expose 3036

cmd

參考

Linux裡安裝Docker容器的步驟

安裝的時候只需要根據下面的步驟提示安裝就可以了 1 檢查核心版本,必須是3.10及以上 uname r 2 安裝docker yum install docker 3 輸入y確認安裝 4 啟動docker root localhost systemctl start docker root loca...

contos 使用docker安裝mysql

安裝docker yum install docker檢視docker是否安裝成功 docker v 檢視docker版本啟動docker 兩種啟動方式 systemctl start docker 正常啟動 systemctl enable docker 開機啟動常用命令 docker image...

Deepin安裝docker使用mysql

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。deepin 官方的應用倉庫已經整合了 docker,但不是類似於 docker ce 這樣的...