拉取镜像
docker pull mysql
docker images
docker run -it \
--name mysql \
-p 3306:3306 \
-v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/mysql/logs:/logs \
-v /usr/local/mysql/data/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-latest mysql
查看MySQL当前远程访问权限配置
use mysql
select User,authentication_string,Host from user;
查看身份验证类型
SELECT Host, User, plugin from user;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
FLUSH PRIVILEGES;
通过改表修改权限
update user set host='%' where user='root';
通过GRANT命令可以授予主机远程访问权限
--赋予任何主机访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
--允许指定主机(IP地址)访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION;
建库语句
create database xxx default character set utf8 default collate = utf8_general_ci;
# 修改更新修改
alter table user
modify column gmt_modify DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';
查询用户权限
show grants for 'xxx'@'%';
授予用户权限
GRANT ALL PRIVILEGES ON `zebra_shakings`.* TO 'xxx'@'%' WITH GRANT OPTION
查看端口
-v 详细信息
-z 不发送包给对方
-w 后面是数字,秒,表示多少时间结束,不等太长时间。
-u udp 协议,默认是tcp。上图可以看到。如果是dns端口检测,用u
nc -zv -w 2 -u 114.114.114.114 53