MySQL语法(一)


用户管理

  • 新建用户及密码:foo为名,123为密码,locahost为固定地址登录

    1
    2
    3
    4
    5
      #以下为两种创建方式
      CREATE USER [email protected] IDENTIFIED BY ‘123’;
      INSERT INTO mysql.user(Host,User,Password) VALUES("localhost","test",password("1234"));
      #只要更改了用户及密码
      flush privileges;
    
  • 设置及更改用户密码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
      #以下为三种更改方式
      SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword')
      #若果是当前登录用户
      SET PASSWORD = PASSWORD('newpassword')
    
      update mysql.user set password=password('newpassword') where User='username' and Host='host'
    
      #只要更改了用户及密码
      flush privileges
    
  • 删除用户:

    1
    2
    3
    4
    5
    6
    7
      # 删除用户的数据库
      drop database testDB; 
      # 删除账户及权限
      drop user '用户名'@'localhost'; 
    
      Delete FROM user Where User='test' and Host='localhost';
      flush privileges;
    
  • 授权:

    1
    2
      GRANT INSERT,DELETE,UPDATE,SELECT ON databasename.tablename TO 'username'@'host'
      flush privileges
    

说明:
(1)privileges-用户的操作权限,如SELECT , INSERT , UPDATE
(2)databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示, 如.*
(3)新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效

  • 查看权限:

    1
      show grants for [email protected];
    
  • 去除权限:

    1
    2
      # GRANT的反操作,去除权限
      REVOKE SELECT ON db_name.* TO name;
    
  • 登录远程MySQL(ubuntu): mysql -h <远程ip> -P 远程端口 -u 用户- p 密码

    1
    2
      # 需远程ip和端口:10.10.101.111:30061  远程mysql的用户及密码
      mysql -h 10.10.101.111 -P 30061 -u root -p 123456
    

参考 Mysql语法大全


0%