zoukankan      html  css  js  c++  java
  • mysql 基础使用

    mysql服务器本地root用户默认没有密码,使用 "mysql -u root -p" 即可登陆。
    linux本地用户可以以任意用户名登陆mysql,但是没有任何权限,没有意义。
    mariadb中使用用户名时如果不加上host,默认为 '%' ,这样本地操作时会造成用户的创建,所以最好对用户操作时加上 @'localhost'。
    所有的数据库名,表名,是区分大小写的,表中的字段名称不区分大小写。


    grant resource,connect to username;            //oracle中可以吧。
    不能使用 grant dba to username;

    grant all privileges on testDB.* to test@localhost identified by '1234';            //自动创建用户


    show grants [ for Wizard [ @'localhost' ]];        //默认当前用户
    select current_user();                    //显示当前登陆用户名。
    select user();
    select database();                    //显示当前数据库。
    show create table [tablename];                //显示创建表时的字段名和属性

    root权限下创建的用户默认host为“%”,这样在本地登陆时会优先使用本地用户,创建的用户不能在本地登陆,因为mysql.user表host项有localhost而user为空。解决办法是将创建的用户的host改为localhost,这样就可以在本地登陆了,当然这样就不能使用他进行远程登陆了。



    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):



    1.新建用户

    登录MYSQL:
    $>mysql -u root -p
    $>密码

    创建用户:
    mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
    这样就创建了一个名为:test 密码为:1234 的用户。
    注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

    然后登录一下:
    mysql>exit;
    $>mysql -u test -p
    $>输入密码
    mysql>登录成功


    2.为用户授权

    授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

    登录MYSQL(有ROOT权限),这里以ROOT身份登录:
    $>mysql -u root -p
    $>密码

    首先为用户创建一个数据库(testDB):
    mysql>create database testDB;

    授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):
    mysql>grant all privileges on testDB.* to test$localhost identified by '1234';
    mysql>flush privileges;            //刷新系统权限表
    格式:grant 权限 on 数据库.* to 用户名$登录主机 identified by "密码"; 

    指定部分权限给一用户,可以这样来写:
    mysql>grant select,update on testDB.* to test$localhost identified by '1234';
    mysql>flush privileges; //刷新系统权限表

    授权test用户拥有所有数据库的某些权限:  
    mysql>grant select,delete,update,create,drop on *.* to test$"%" identified by "1234";
    //test用户对所有数据库都有select,delete,update,create,drop 权限。
    //$"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
    //对localhost授权:加上一句grant all privileges on testDB.* to test$localhost identified by '1234';即可。


    3.删除用户
    mysql>Delete FROM user Where User='test' and Host='localhost';
    mysql>flush privileges;
    mysql>drop database testDB; //删除用户的数据库
    删除账户及权限:
    >drop user 用户名@'%';
    >drop user 用户名@'localhost';


    4.修改指定用户密码
    mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
    mysql>flush privileges;


    5.列出所有数据库
    mysql>show database;


    6.切换数据库
    mysql>use '数据库名';


    7.列出所有表
    mysql>show tables;


    8.显示数据表结构
    mysql>describe 表名;


    9.删除数据库和数据表
    mysql>drop database 数据库名;
    mysql>drop table 数据表名;

  • 相关阅读:
    Net
    GUI
    第三方模块
    步入大四的第一天 2020/9/3
    期末复习计划及每日更新 8/10-9/2
    成都,come back 2020/8/10
    回家第三天 2020/7/31
    连续两天的好太阳的一天 2020/7/27
    规划规划,接下来的一个月该如何安排 7/25
    紧紧张张又兴兴奋奋的一天 2020/7/24
  • 原文地址:https://www.cnblogs.com/little-snake/p/4896304.html
Copyright © 2011-2022 走看看