docker上安装mysql及常用命令整理

1.安装mysql5.7

1.1 拉取mysql5.7的镜像
  • 可以使用docker search mysql 查看相关镜像
docker pull docker.io/centos/mysql-57-centos7
1.2 创建容器并启动
  • 转到/home/hjl/mysql5.7
## 因为后面使用$(PWD),当前目录下的意思
cd /home/hjl/mysql5.7
  • 创建并运行容器
docker run -itd --privileged=true --restart=always --name mysql5.7 -p 3308:3306 -v $PWD/data:/var/lib/mysql -v $PWD/conf/:/etc/mysql/conf.d -v $PWD/logs:/logs -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.24
参数说明
–name容器名字
-p物理机端口:容器内部端口
-e运行参数 初始化root用户的密码
-d后台运行 mysql/mysql-server:8 下载的镜像名字加标签
-v ./conf:/etc/mysql/conf.d将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。//配置文件目录
-v ./logs:/logs将主机当前目录下的 logs 目录挂载到容器的 /logs。//日志目录
-v ./data:/var/lib/mysql将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。//数据库文件存放目录
1.2 登录mysql
  • 进入容器内
docker exec -it mysql5.7 bash
  • 使用root用户登录
root@bc5798dba70d:/#mysql -u root -p
1.2.1 登录出错
  • 因为root密码错误
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  • 将mysql设置为免密登录,在/home/hjl/conf/my.cnf增加以下语句
## 免密登录
[mysqld]
skip-grant-tables
  • 重启之后就可以成功登录
docker restart mysql5.7
  • 进入容器修改root密码
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('root') where user='root';
mysql> flush privileges;
mysql> quit
  • 记得删除刚刚my.cnf添加的内容,去除免密登录
1.3 创建允许远程访问的新用户
  • 进入mysql数据库
use mysql;
  • 创建新用户
# create user 用户名 identified by '密码'; 
mysql> create user hjl identified by 'hjl';
  • 授权给用户
# grant 权限 on 数据库名.表名 to 用户名@登录ip/域名 identified by 用户密码;
mysql> grant all privileges on *.* to 'hjl'@'%' identified by 'hjl' with grant option;
  • 执行刷新权限
flush privileges;
  • 官网可查询用户权限详情
  • 对用户做了权限变更之后,需要刷新权限

2 mysql数据库常用命令

2.1 grant添加权限常用命令
参数说明
grant使用grant添加权限,权限会自动叠加,不会覆盖之前授予的权限
all privileges将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。其中,关键字 “privileges” 可以省略
on后面表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
to后面将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录
identified by后面指定用户的登录密码
with mysql_native_password密码加密方式
with grant option表示允许用户将自己的权限授权给其它用户
2.2 mysql常用命令
mysql常用命令说明
select version();查看MySQL的版本信息
select database();查看用户创建的数据库
select user();查看用户
show status;查看MySQL的运行状态
show variables;查看MySQL的系统变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值