Mysql在Linux下表名区分大小写

  • Linux下的mysql表名数据库名默认区分大小写
    docker下run启动时参数添加 --lower_case_table_names=1
    如果docker已经启动:
docker exec -it mysql bash
echo "lower_case_table_names=1" >> /etc/mysql/mysql.conf.d/mysqld.cnf
service mysql restart #容器内运行
  • mysql内的变量设置
set [global|session(default)] variable_name=xxx;  #默认是会话有效, 单独设置global可改为全局
set @variable_name=xxx;                   #定义用户变量需要加@
select @variable_name:=xxx;				  #必须使用:=赋值, 因为在SELECT语句中“=”号被占用
#展示mysql系统变量
show variables like "%case%";
select @variable_name;
  • 修改列
add|drop|change|modify					
#[add]最后接first或者after ColumName,没有before
#change 可以更改 列名 和 列类型 (只改类型也要把新列名和旧列名写上, 即旧名字写两遍, 只改类型)
  • 命令行多行模式
    多条语句需要执行时,替换分隔符DELIMITER //,要改回分号执行DELIMITER ;

  • 修改密码

mysql> set password for root@localhost = password(123);
  • 创建用户
mysql> create user 'rose'@'%' IDENTIFIED BY '123456'; // 任意远程主机登陆,通配符%
mysql> create user 'jack'@'localhost' IDENTIFIED BY '123456';  //本地用户

创建用户后,该用户只能连接到数据库服务器,但并没有操作该数据库服务器的权限。

  • 授权
mysql> GRANT SELECT, INSERT ON bookdb.usertable TO 'jack'@'%';
mysql> GRANT ALL ON DBname.* TO 'rose'@'localhost' WITH GRANT OPTION;
#   授权后需要重连
  • 撤销授权
mysql> REVOKE SELECT ON *.* FROM 'jack'@'%';
  • 删除用户
mysql> DROP USER 'usernamexxx'@'hostxxx';
  • 设置与更改用户密码
mysql> SET PASSWORD FOR 'usernamexxx'@'hostxxx' = PASSWORD('newpasswordxxx');

MySQL 8.0.4权限认证插件服务从mysql_native_password改成caching_sha2_password.可以这样修改密码:
mysql> ALTER USER 'student'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass123';

  • 查看docker映射mysql的IP地址,其他容器使用mysql容器会用到(容器使用容器)
docker inspect mysql:5.7 |grep "IPAddress"

猜你喜欢

转载自blog.csdn.net/howeres/article/details/108646929