Linux下mysql基本操作

1、登陆MySQL:
mysql -u root -p 

2、查看用户信息
select user,host,password from mysql.user;

select user,host from mysql.user;
3、设置密码
set password for root@localhost=password('
在这里填入root密码');
4
、修改密码
方法1mysqladmin -u root -p password newpassword
方法2 mysql -u root -p mysql
               mysql>UPDATE user SET password=PASSWORD("new") WHERE user='root'; 
               mysql>flush privileges;
5
、删除匿名用户
delete from mysql.user where user='';

6、查看系统已存在的数据库
show databases;

7、删除名为test的空数据库
drop database test;

8、建立mysql用户
a:
建立对test数据库有完全操作权限的名为centospub的用户
mysql>grant all privileges on test.* to centospub@localhost identified by 'password';

b:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例b增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了。
c:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
9
、查找确认centospub用户的存在与否
select user from mysql.user where user='centospub';

10 建立名为test的数据库
create database test;

11、取消centospub用户对数据库的操作权限
revoke all privileges on *.* from centospub@localhost;

12、删除centospub用户
delete from mysql.user where user='centospub' and host='localhost';

13、刷新,使所做的改动生效 
flush privileges;

14、忘记MySQLroot密码,怎么修改

 

如果 MySQL 正在运行,首先杀之: killall -TERM mysqld
启动 MySQL PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;

重新杀 MySQL ,用正常方法启动 MySQL




1、显示数据库

 show databases;

2、选择数据库

use 数据库名;

3、显示数据库中的表

show tables;

4、显示数据表的结构 

describe 表名;

 5、显示表中记录 

SELECT * FROM 表名

 6、建库

 create databse 库名;

 7、建表

复制代码
create table 表名 (字段设定列表);

mysql> create table name(
    -> id int auto_increment not null primary key ,
    -> uname char(8),
    -> gender char(2),
    -> birthday date );
Query OK, 0 rows affected (0.03 sec)

mysql> show tables;
+------------------+
| Tables_in_userdb |
+------------------+
| name             |
+------------------+
1 row in set (0.00 sec)

mysql> describe name;
+----------+---------+------+-----+---------+----------------+
| Field    | Type    | Null | Key | Default | Extra          |
+----------+---------+------+-----+---------+----------------+
| id       | int(11) | NO   | PRI | NULL    | auto_increment |
| uname    | char(8) | YES  |     | NULL    |                |
| gender   | char(2) | YES  |     | NULL    |                |
| birthday | date    | YES  |     | NULL    |                |
+----------+---------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

注: auto_increment 自增
     primary key    主键
复制代码

 8、增加记录

 insert into name(uname,gender,birthday) values('张三','','1971-10-01');

 9、修改记录

update name set birthday='1971-01-10' where uname='张三';

 10、删除记录

delete from name where uname='张三';

 11、删除表

drop table 表名

 12、删除库

 drop database 库名;

13、备份数据库 

mysqldump -u root -p --opt 数据库名>备份名; //进入到库目录

14、恢复

mysql -u root -p 数据库名<备份名; //恢复时数据库必须存在,可以为空数据库

 15、数据库授权

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

例1、增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

 mysql> grant select,insert,update,delete on *.* to user001@"%" Identified by "123456";

 

例2、增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机)

        //这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。
        //首先用以root用户连入MySQL,然后键入以下命令:

  mysql>grant select,insert,update,delete on test.* to user002@localhost identified by "123456";

 

注: 其次也可以采用修改表的方式,处理用户的登录方式:

数据库: Mysql
表:      User
修改:   User表中的Host列的值来现实登录入口




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值