MySQL 基本操作和用户管理

来源:互联网 发布:windows agent 安装 编辑:程序博客网 时间:2024/06/01 21:33

一、基本操作

1.安装好 MySQL 后开启数据库服务

$ sudo service mysql start

2.登录数据库

$ mysql –u root –ppassword     #password为密码

3.列出所有数据库注意分号

mysql> show databases;

这里写图片描述

4.切换数据库这里分号可以省略

mysql> use mysql   # 如切换到mysql数据库

这里写图片描述

5.列出所有的表

mysql> show tables;   #如列出mysql中所有的表

这里写图片描述

6.新建数据库

mysql> create database 数据库名;

如新建数据库 User
这里写图片描述

7.新建表

如在 User 数据库建立一个 user_info 表,表中有两个字段 id 和 name,其中 id 为 int 型,不为空,name 为 char,占 20 字节。
这里写图片描述

8.删除表

mysql> drop tables 表名;

9.删除数据库

mysql> drop database 数据库名;

二、用户管理

1.新增用户

(1)首先用 root 账户登录数据库

$ mysql –u root –ppassword     #password为密码

(2)创建用户
如创建一个用户名为:testuser ,密码为:123456的用户,localhost表示指该用户只能在本地登录。

mysql> insert into mysql.user(Host,User,Password) values('localhost','testuser',PASSWORD('123456'));mysql> flush privileges; 

(3)退出并用新建的用户登录MySQL

$ mysql -u testuser -p123456

如果在上面创建用户的时候没有用PASSWORD()进行加密,登录时会出错。
这里写图片描述

发现并不能登陆上MySQL,出现错误:
ERROR 1045 (28000): Access denied for user ‘test’@’localhost’ (using password: YES)

解决方法

为该用户授权,并刷新系统权限表

mysql> grant all on 数据库名.* to '用户名'@'登录主机' identified by '密码';mysql> flush privileges; 

如为 testuser 用户授权 test 数据库上的所有权限,先为用户创建一个数据库,再授权:

mysql> create database test;mysql> grant all on test.* to 'testuser'@'localhost' identified by '123456';mysql> flush privileges; 

退出后重新用新账户登录即可成功。

2. 授权用户

在 root 登录 MySQL 的情况下:

mysql> grant all on 数据库名.* to '用户名'@'登录主机' identified by '密码';mysql> flush privileges; 

all:全部权限,也可以为insert 、select、delete、update、create、drop、alter 中的一个或者多个。(如 grant insert,select on…..)
登录主机:主机名(localhost)或任何其他主机 (%

3.撤销用户权限

mysql> revoke all on 数据库名.* from '用户名'@'登录主机' identified by '密码';mysql> flush privileges;

其他同上

4. 删除用户

在 root 登录 MySQL 的情况下:

mysql> delete from mysql.user where user='用户名';

如删除刚新建的用户 testuser

mysql> delete from mysql.user where user='testuser';#或mysql> drop user 用户名;

5.修改用户的密码

在 root 登录 MySQL 的情况下:

mysql> update mysql.user set password='新密码' where user='用户名'; 

如将 testuser 的密码修改为 12345678

mysql> update mysql.user set password='12345678' where user='testuser';

这里写图片描述

0 0