我們自己在linux上安裝MySQL的話,超級麻煩,安裝完后還要進行各種各樣的配置,之前在Docker專題寫了用docker安裝mysql的快速版本以及修改編碼的方式,這里總結一下安裝流程和命令。
環境
- Linux version 3.10.0-693.2.2.el7.x86_64
- docker18.09.2
- mysql5.7
安裝流程命令
下面我直接快速的說明安裝流程和命令,包括中文編碼問題的解決。
1、拉取鏡像
docker pull mysql:5.7
2、創建配置和數據掛載點
mkdir -p /data/mysql/data3309
mkdir -p /data/mysql/mysql.conf.d3309
這里啟動的容器端口為3309,所以直接命名為3309
3、編寫配置文件
新建名稱為mysqld.cnf的配置文件,訪入/data/mysql/mysql.conf.d3309/目錄下,內容如下,目的是覆蓋掉容器內的配置文件,好修改編碼格式為utf_8,而不是參照網上的進入容器中修改。
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#innodb_buffer_pool_size = 50M
#ngram_token_size=1
#ft_min_word_len=3
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
順便說下,里面的這些配置,其實跟mysql的快速安裝沒有關系。主要是加上設置編碼的內容,就是后面兩句
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
innodb_buffer_pool_size默認是128Mngram_token_size默認分詞是2,用于全文索引中文分詞ft_min_word_len默認值是4,只有四個字母的單詞才會建立全文索引
4、創建mysql容器
這里創建的容器端口為3309,root密碼為123456,數據和配置文件掛載點用上面創建的目錄,設置編碼格式為utf8mb4
docker create --name mysql3308 -v /data/mysql/data3309:/var/lib/mysql -v /data/mysql/mysql.conf.d3309/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
5、啟動容器
docker start mysql3309
6、測試容器
首先進入到容器
docker exec -it mysql3309 bash
然后用如下命令登錄,當然也可以省去-h127.0.0.1
mysql -h127.0.0.1 -uroot -p123456
若是進入到mysql命令行界面就表明安裝成功
7、新建另一個mysql容器
只需要新建掛載點然后執行創建mysql容器命令即可。(注意端口號的修改)
8、一些操作命令
docker stop mysql3309 #停止容器
docker start mysql3309 #啟動容器
docker exec -it mysql3309 bash #進入容器
docker search name #查詢鏡像
docker pull name #安裝name鏡像
docker images #查看已經拉取的鏡像
docker ps #查看正在運行中的容器
docker ps -a #查看正在運行中的容器,包括未運行的
docker rm #容器ID 刪除某一容器 //停止容器--》刪除容器--》刪除鏡像
docker rmi #鏡像ID 刪除某一個鏡像
systemctl start docker #啟動docker
systemctl stop docker #停止docker
systemctl restart docker #重啟docker