Docker搭建MySQL服務
在線安裝MySql
前面我們已經安裝好了Docker,也簡單了解了Docker。那么我們可以嘗試搭建一個MySQL服務。
查看Docker MySQL文檔
MySQL文檔地址: https://hub.docker.com/_/mysql/
詳細步驟
1. 拉取MySQL鏡像
命令:sudo docker pull mysql
2. 查看下載鏡像
命令:sudo docker images
3.創建并啟動一個MySQL容器
命令:sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
- –name:給新創建的容器命名,此處命名為pwc-mysql
- -e:配置信息,此處配置mysql的root用戶的登陸密碼
- -p:端口映射,此處映射主機3306端口到容器pwc-mysql的3306端口
- -d:成功啟動容器后輸出容器的完整ID
- 最后一個mysql指的是mysql鏡像名字
4.查看容器運行狀態
命令:sudo docker ps
5.測試連接MySQL
6.啟動關閉mysql
啟動命令:
$ sudo docker start pwc-mysql //通過指定容器名字
$ sudo docker start b6660811bd7d //通過指定容器ID
停止命令:
$ sudo docker stop pwc-mysql //通過指定容器名字
$ sudo docker stop b6660811bd7d //通過指定容器ID
離線安裝MySql
安裝MySql5.7
1 從mysql官網上下載自己適合的mysql版本
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
,進入mysql官網,依次點擊
2 解壓文件
將下載好的mysql壓縮文件放置在linux的/usr/local文件夾下,解壓該壓縮文件
tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
將解壓后的文件重命名為mysql
mv mysql-5.6.43-linux-glibc2.12-x86_64 mysql
3 創建mysql用戶組及用戶
groupadd mysql
useradd -r -g mysql mysql
4 進入到mysql目錄,執行添加MySQL配置的操作
cp support-files/my-medium.cnf /etc/my.cnf
是否覆蓋?按y 回車
5 編輯/etc/my.cnf文件
vi /etc/my.cnf
在my.cnf文件中添加或者修改相關配置,更改完成后保存退出
6 在mysql當前目錄下設定目錄的訪問權限(注意后面的小點,表示當前目錄)
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
運行scripts/mysql_install_db --user=mysql
可能會報一下錯誤
FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper
網上提供解決方法是安裝autoconf庫
yum-y install autoconf
結果又出現一下錯誤
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
原因為:缺少libaio庫文件
解決方法:yum -y install numactl
將上述命令輸入完即可
7 初始化數據
在mysql/scripts下有個 mysql_install_db 可執行文件初始化數據庫),進入mysql/scripts目錄下,執行下面命令
./mysql_install_db --verbose --user=root --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp
8 啟動mysql
進入/usr/local/mysql/bin目錄,執行下面命令
./mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=root &lb
注意,如果光標停留在屏幕上,表示啟動成功,需要我們先關閉shell終端,再開啟一個新的shell終端.
9 設置開機啟動
新開啟shell中斷后,進入mysql目錄,執行下面命令
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chmod 700 /etc/init.d/mysql
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql/
10 重啟linux
reboot
11 查看mysql狀態
service mysqld status
顯示以下界面,顯示安裝成功
SUCCESS! MySQL running (1522)
12 添加遠程訪問權限
(1) 添加mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin (mysql的安裝路徑)
(2) 更改訪問權限
登錄mysql,執行下面命令
mysql -uroot -p
密碼為空直接回車,運行以下兩條命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'duan' with grant option;
Flush privileges;
(3) 退出mysql
13 更改密碼
本機訪問mysql,root賬戶默認是沒有密碼的,端口號默認3306,如果需要修改root賬戶密碼,在/usr/local/mysql/bin目錄下,執行下面命令
./mysqladmin -h 127.0.0.1 -P3306 -uroot password 'duan'exit