赞
踩
docker pull mysql:5.7
bash语句中不加版本号或者使用lasted则下载最新的MySQL镜像。
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1
-p port1:port2 是本机端口映射到docker中的端口,port1是对外暴漏的端口,port2是docker内部端口
--name是MySQL实例设置的别名
-e MYSQL_ROOT_PASSWORD 设置MySQL的root用户密码
-d 以守护进程运行(后台运行)
mysql:5.7 是镜像名字,不加版本号会下载最新版本并运行
--lower_case_table_names 表存储的文件系统区分大小写,Unix/Linux默认为0 Windows默认为1 MacOS默认为2
1.创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:新创建的用户名
host:指定该用户可以在哪些主机上登录,"%"即所有主机
password:新建用户的登录密码,密码可以为空(该用户不需要密码即可登录)
eg.
CREATE USER 'peter'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'tom'@'192.168.1.15' IDENETIFIED BY '123456';
CREATE USER 'jimmy'@'%' IDENTIFIED BY '';
CREATE USER 'jhon'@'%';
GRANT privileges ON db_name.tb_name TO 'username'@'host' ;
PRIVILEGES:SELECT,INSERT,DELETE,UPDATE等操作,全部权限使用all/all privileges
db_name.tb_name:授权指定的数据库及数据表,全部数据表使用db_name.*
eg.
GRANT SELECT,INSERT ON db_test.tb_test TO 'jhon'@'%';
GRANT ALL ON db_test.* TO 'jimmy'@'%';
完成授权后需要刷新权限表FLUSH PRIVILEGES;
该授权用户不能授权给其他用户,如需要授权给其他用户可以使用语句
GRANT privileges ON db_name.tb_name TO 'username'@'host' WITH GRANT OPTION;
REVOKE privileges ON db_name.tb_name FROM 'username'@'host';
撤销授权时privileges、db_name、tb_name同授权部分相同,也需要刷新权限表
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
修改当前登录用户密码SET PASSWORD = PASSWORD("newpassword");
5. 删除用户
DROP USER 'username'@'host';
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。