使用docker-compose安装mysql
创建docker-compose.yml
version: '3'
services:
mysql:
image: mysql
restart: always
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: pass@123!(此处是数据库root用户密码,可自行修改)
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M;
ports:
- 3306:3306
volumes:
- ./data:/var/lib/mysql
开放3306端口
如果使用navicat登录失败
docker ps -a
docker exec -it f5d861a2e77a bash(f5d861a2e77a为mysql的CONTAINEr ID)
登录mysql
mysql -uroot -p
输入密码后执行下面命令
use mysql
select host, user, authentication_string, plugin from user;
如果root用户的host不是%则进行下面命令,如果是则跳过
update user set host = '%' where user = 'root';
flush privileges;
授权
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;