前幾天在跑一個項目的時候,後臺死活起不起來,看一眼報錯信息,發現個人mysql版本太舊了不能用。由於我用的是xampp,版本是跟着xampp版本走的。網上給出的解決辦法是運行命令:mysql_upgrade -u root -p 更新mysql庫,可是在我這裏不能使用。在好友的建議下我決定安裝docker。
html
Linux安裝Docker網上有詳細的教程,在這裏再也不贅述,有須要的請看Ubuntu Docker 安裝
安裝完Docker後,若是執行sudodocker run hello-world
出現
說明docker安裝成功。
接下來咱們用docker安裝mysql。
1.咱們先可使用mysql
sudo docker search mysql
來查看可用版本,可是咱們選擇穩定的5.7版本做爲咱們的安裝版本
2.拉取mysql鏡像sql
docker pull mysql:5.7
若是下載速度緩慢,建議更換國內源
首先修改或者新增/etc/docker/daemon.json
文件,內容改成docker
{ "registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"] }
保存退出,若是下載仍是緩慢,建議多換幾個源試試這篇文章提供了不少國內原。
保存後重啓docker服務。json
service docker restart
再次進行pull mysql。
安裝好後,咱們經過sudo docker images
來查看是否正確安裝好mysql.
3.運行mysql容器
安裝完成後,咱們使用ubuntu
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
來運行mysql容器
--name mysql-test是咱們起的容器名字
-p 3306:3306是映射服務的3306端口到宿主機的3306端口,咱們訪問的時候訪問3306端口。
MYSQL_ROOT_PASSWORD=123456 咱們設置的root用戶密碼
mysql:5.7 設置啓動的mysql版本。
成功後,咱們使用sudo docker ps -a
命令查看啓動是否成功。
4.進入
咱們使用bash
sudo docker exec -it mysql-test bash
進入剛纔咱們建立的容器,而後經過測試
mysql -uroot -p123456
命令進入mysql環境
注意開頭的變化判斷命令是否生效。
最後,咱們使用spa
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';
命令來容許root用戶從任意位置登陸。
最後打開咱們的navicat測試
鏈接成功。.net
咱們經過sudo docker ps -a
來查看啓動的容器後,能夠經過sudo docker stop XXX
來中止和sudo docker rm XXX
刪除容器。XXX爲容器的ID值
值得注意的是,咱們這裏的容器是虛擬機,咱們關機後也是保留狀態,不用開機後再進行一系列繁瑣的命令,而是能夠直接使用,若是刪除再重建,你的數據表都會消失。
初次使用docker,還不知道docker的強大之處,待往後細心體會。
在此感謝小夥伴在這過程當中的悉心指導。