一、基本操作
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';