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 数据表名;mysql

相关文章
相关标签/搜索