podman/docker或者podman-compose安裝mysql並開啟遠程訪問
修改配置文件 mysqld.cnf
開啟logbin或設置sql模式,[mysqld]下面追加 非必須為了
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
server_id=1918435
log_bin=/var/lib/mysql/mysql-bin
podman啟動
podman run --restart always \
--privileged=true \
--name mysql -d \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_USER=azi \
-e MYSQL_PASSWORD=123 \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/logs:/var/lib/logs \
-v /data/mysql/conf/mysql.cnf:/etc/mysql/mysql.conf.d/mysql.cnf \
docker.io/library/mysql:5.7.35
podman-compose啟動
編寫配置文件 docker.compose.yml/podman-compose.yml/...都可以
- mysql5
version: '2.1'
services:
mysql:
restart: always
# localhost: mysql
container_name: mysql
image: docker.io/library/mysql:5.7.35
ports:
- "3307:3306"
volumes:
- ./data:/var/lib/mysql
- ./logs:/var/lib/logs
- ./conf/mysql.cnf:/etc/mysql/mysql.conf.d/mysql.cnf
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_USER=azi
- MYSQL_PASSWORD=123
- mysql8
version: '2'
services:
# 模擬一個正常的mysql數據庫
mysql8:
image: mysql:8.0.24
restart: always
container_name: mysql
ports:
- 3306:3306
volumes:
- ./data/mysql/logs:/var/log/mysql
- ./data/mysql/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: passwd
command:
--max_connections=1000
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
--lower_case_table_names=1
啟動
podman-compose up -d
授權遠程登錄
use mysql; -- 選中mysql數據庫
-- select user, host, plugin from user; -- 查詢賬號
-- update user set host='%' where user ='root'; -- 無密碼登錄不安全
create user 'root'@'%' identified by 'passwd'; -- 新創建 root@% 賬號 默認就是 mysql_native_password
grant all privileges on *.* to 'root'@'%' with grant option; -- 賦予所有權限
flush privileges; -- 刷新權限