1. 程式人生 > 實用技巧 >【Docker】 使用Docker在阿里雲上部署 MySQL 及 Redis 雲資料庫。

【Docker】 使用Docker在阿里雲上部署 MySQL 及 Redis 雲資料庫。

部署MySQL

1.拉取映象

docker pull mysql
docker pull mysql:版本號

2.建立容器

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-d mysql --lower_case_table_names=1

-p 對映埠號

-e 設定密碼

-name 設定容器名稱發

-d 所用映象

-v 把容器內部檔案掛載至宿主機中,方便修改。

--lower_case_table_names=1 忽略表名大小寫,儲存都用小寫,不加可能無法正常啟動

3.修改my.inf檔案

執行完第2步後會發現有報錯,因為my.cnf沒有配置成功。

刪除宿主機 /usr/local/docker/mysql/conf/ 中的 my.cnf 資料夾,並在 /usr/local/src/mysql/conf/ 新建my.cnf檔案,檔案內容如下所示:

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4 [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 max_connections=10000 default-time_zone='+8:00' character
-set-client-handshake=FALSE character_set_server=utf8mb4 collation-server=utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci' # Custom config should go here !includedir /etc/mysql/conf.d/

4. 開啟容器

Docker start mysql

5. 進入容器,登入MySQL

docker exec -it mysql bash
mysql  -uroot -p

6. 修改密碼 MySQL 8.0.4 之後的方法,並刷新系統。

alter user 'root'@'localhost' identified with mysql_native_password by '新密碼';
flush privileges;

7.新建一個使用者用於遠端訪問,並給這個使用者訪問許可權。

CREATE USER '新使用者名稱稱'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';
GRANT ALL PRIVILEGES ON *.* TO '新使用者名稱'@'%';

8.在客戶端電腦訪問阿里雲上的資料庫

ps.在阿里雲上需要放通3306埠!如果連不上請檢查雲伺服器網路安全組設定!

部署Redis