拉取镜像
docker pull mysql
通过镜像创建容器并运行
docker run -d -p 3306:3306 –name mymysql -e MYSQL_ROOT_PASSWORD=root mysql
查看容器信息
docker inspect 容器id
进入容器
docker exec -it 62349aa31687 /bin/bash
登录
mysql -uroot -p
授权远程连接
#查看用户信息
select host,user,plugin,authentication_string from mysql.user;
#授予用户通过外网IP对于该数据库的全部权限
grant all privileges on test
.* to ‘test’@’%’ ;
#授予用户在本地服务器对该数据库的全部权限
grant all privileges on test
.* to ‘test’@’localhost’;
grant select on test.* to ‘user1’@’localhost’; //给予查询权限
grant insert on test.* to ‘user1’@’localhost’; //添加插入权限
grant delete on test.* to ‘user1’@’localhost’; //添加删除权限
grant update on test.* to ‘user1’@’localhost’; //添加权限
flush privileges; //刷新权限
#如果想给xxx用户 就把root替换成xxx 密码随意
ALTER user ‘xxx’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
#host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
navicat连接
mysql命令
create user “username”@”host” identified by “password”;//新建用户
drop user ‘username’@’host’;//删除用户
rename user ‘jack’@’%’ to ‘jim’@’%’;//修改用户名
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘123456’);//修改密码
grant privileges on databasename.tablename to ‘username’@’host’ IDENTIFIED BY ‘PASSWORD’;//授权
show databases; //显示所有数据库
show grants for ‘jack’@’%’;//查看jack的权限
revoke privileges on databasename.tablename from ‘username’@’host’;//删除权限
create database <数据库名>//创建数据库
drop database <数据库名>//删除数据库
use mydatabase;//打开数据库
desc <表名>;//查看表结构
drop table <表名>;//删除表
SHOW VARIABLES LIKE ‘character%’;//查看所有字符集
set character_set_database=utf8;//改变数据库的编码方式
mysqldump -u 用户名 –p 数据库名 > 导出的文件名;//到处数据库生成文件,终端执行