mysql 数据库常用配置

前言
数据库分为关系型和非关系型两大类 。关系型数据库系统是基于关系模型的数据库系统,它的基本概念来自于关系模型。关系模型建立在关系代数的理论基础上,数据结构使用简单易懂的二维数据表,反应事物以及联系的数据是以表格形式保存的,在每一个二维表中,每一行称为一条记录,用来描述对象信息,每一列称为一个字段,用来描述对象的一个属性。当今主流的关系型数据库有 oracle mysql mariadb sqlserver db2 。其中mysql 和mariadb 具有免费、开源、体积小的优点,两者的使用风格和命令几乎一样。本文将对在工作常用的mysql 配置用法进行阐述和举例。
一. 库操作命令
1、、创建数据库
命令:create database <数据库名>
例如:mysql> create database student; 建立一个名为student的数据库
2、显示所有的数据库
命令:show databases (注意:最后有个s)
mysql> show databases;
3、删除数据库
命令:drop database <数据库名>
4、连接数据库
命令: use <数据库名>
例如:mysql> use student ; 当然student 的数据库要存在
5、查看当前使用的数据库
mysql> select database();
6、当前数据库包含的表信息:
mysql> show tables; (注意:最后有个s)

二 表操作命令
1、建表
在建表前必须进入到某一个数据库中!
命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
例如:

mysql> create table class(
id int(4) not null primary key auto_increment,
name char(20) not null,
sex int(4) not null default ‘0’,
degree double(16,2));

2、获取表结构
命令: desc 表名
mysql> desc class;
3、删除表
命令:drop table <表名>
4、插入数据
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如,
mysql> insert into score values(1,’Tom’,96),(2,’Joan’,82), (3,’Wang’, 96);
5、查询表中的数据
1)、查询所有行
命令: select <字段1,字段2,…> from < 表名 > where < 表达式 >
例如:查看表 MyClass 中所有数据
mysql> select * from MyClass;
mysql> select user,password,id from myclass; #从myclass 表中查询 user,password ,id 信息。
2)、查询前几行数据
例如:查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
6、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
7、修改表中数据:update 表名 set 字段=新值,… where 条件
mysql> update MyClass set name=’Mary’ where id=1;
8、在表中增加字段:
命令:alter table 表名 add字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table MyClass add passtest int(4) default ‘0’
8、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改为YouClass
mysql> rename table caiwu to caiwu1;

这里附上表字段类型
1.INT[(M)] 型: 正常大小整数类型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型
3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列
4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度
5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。
6.VARCHAR型:变长字符串类型
三 数据库的授权
以root连接到服务器上后,可以添加新账户,MySQL5.5要先创建用户后才能用GRANT命令授权,mysql 5.5 直接授权用户就可以有新用户了。
MySQL5.5 前配置用户授权示例:
mysql> CREATE USER ‘tom’@’localhost’ identified BY ‘tom123’;
mysql> GRANT ALL PRIVILEGES ON . TO ‘tom’@’localhost’ WITH GRANT OPTION;
表示先创建tom用户密码是tom123 并且授权tom 用户可以给别的用户授权。
mysql 5.5 之后用户授权配置如下:

mysql> grant all privileges on *.* to 'yys'@'192.168.%' identified by 'yys123' with grant option;
授权yys 可以通过192.168.x.x的地址登录并且可以给其他用户授权
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->     ON bankaccount.*
    ->     TO 'wang'@'localhost'
    ->     IDENTIFIED BY 'wang123';
授权wang 用户在本机登录,并可以SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 操作。
mysql> revoke all on *.* from 'yys'@'%'; 取消yys 所有的授权

下面说下权限的具体意思:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录–其它什么也不允许做。

四 破解数据库密码
1. 暂停mysql 服务
centos6 :service mysqld stop
centos7: systemctl stop mysqld
2.跳过grant 表授权,进入安全模式,并在后台执行

[root@Centos6.9 ~]#mysqld_safe --skip-grant-tables &
[1] 8454
[root@Centos6.9 ~]#171023 04:21:30 mysqld_safe Logging to '/var/log/mysqld.log'.
171023 04:21:30 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

[root@Centos6.9 ~]#jobs
[1]+  Running                 mysqld_safe --skip-grant-tables &
[root@Centos6.9 ~]#

3 进入安全模式修改密码:

[root@Centos6.9 ~]#mysql
mysql> use mysql;
mysql> update user set password=password('centos') where user='root';   #设置root用户密码为centos
mysql>flush privileges;

4.重启mysql 服务并登陆
[root@Centos6.9 ~]#service mysqld start
Starting mysqld: [ OK ]
[root@Centos6.9 ~]#mysql -uroot -pcentos
会发现可以正常登录了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值