mysql 基本使用命令

689 查看

一、安装完毕之后按照如下步骤执行

update user set host='%' where host='127.0.0.1';
  1. 先关闭mysql并设置密码

    #/etc/init.d/mysql stop 
    #mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
    #mysql -u root mysql 
    mysql>UPDATE user SET Password=PASSWORD('123456') where USER='root'; 
    mysql> FLUSH PRIVILEGES; 
    mysql> quit 
    
  2. 重启mysql并尝试登录

    # /etc/init.d/mysql restart 
    #  mysql -uroot -p 
    Enter password:  
    #输入密码,出现下面这个就表示登录正常了 
    mysql> 
    
  3. 登录之后需要再次重置密码

    mysql>  SET PASSWORD = PASSWORD('123456');
    
  4. 新建库:

    CREATE DATABASE test;
    

    新建用户

     create user 'koacif'@'%' identified by 'koacif';  -- 百分号可以设置成IP地址,仅限制此IP,支持通配符。
    

    登录MYSQL

  创建用户及授权(.)前面的*代表所有数据库,后面的*代表所有权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

 
  刷新系统权限表

mysql>flush privileges;

 
5. 删除用户 和权限

     mysql -u root -p

     mysql>DELETE FROM user WHERE User='koacif' and Host='%';
     mysql>flush privileges;

  删除用户的数据库

    mysql>drop database test;

修改指定用户密码

     mysql -u root -p
     mysql>update mysql.user set password=password('新密码') where User='kdta_ta' and Host='%';
     mysql>flush privileges;
     mysql>quit; 

二、权限设置

  1. 为用户授权

     登录MYSQL(有ROOT权限)。这里我以ROOT身份登录。
     
    首先为用户创建一个数据库(jeecnDB)

    mysql> create database jeecnDB;
    

      
      授权jeecn用户拥有jeecn数据库的所有权限

     grant all privileges on jeecnDB.* to jeecn@localhost identified by ‘jeecn’;
    

   刷新系统权限表
  
 2. 如果想指定部分权限给一用户,可以这样来写:

    mysql>grant select,update on jeecnDB.* to jeecn@localhost identified by ‘jeecn’;

  
   然后刷新系统权限表。
  
   mysql> grant 权限1,权限2,…权限n on 数据库名称。表名称 to 用户名@用户地址 identified by ‘连接口令’;
  
 权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
 

  当数据库名称。表名称被.代替,表示赋予用户操作服务器上所有数据库所有表的权限。
  

  ‘连接口令’不能为空,否则创建失败。
  
  例如:

  给来自10.163.225.87的用户jee分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
  mysql>grant all privileges on vtdc.* to jee@10.10.10.87 identified by ‘123′;
  给来自10.163.225.87的用户jee分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
  
  mysql>grant all privileges on . to jee@10.10.10.87 identified by ‘123′;

  mysql>grant all privileges on . to jee@localhost identified by ‘123′;
  
  给本机用户jee分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。