MySql随笔part2 库操作

本文详细介绍MySQL数据库的基础操作,包括数据库的创建、查看、选择及删除等,并深入探讨了用户权限管理,如创建用户、授权及权限撤销等。此外,文章还讲解了如何处理忘记密码的情况及解决中文乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

库操作

 一:系统数据库

  • information_schema :虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
  • mysql:核心数据库,里面包含用户、权限、关键字等信息。不可以删除
  • performance_schema:mysql 5.5版本后添加的新库,主要收集系统性能参数,记录处理查询请求时发生的各种事件、锁等现象 
  • sys : mysql5.7版本新增加的库,通过这个库可以快速的了解系统的元数据信息,可以方便DBA发现数据库的很多信息,解决性能瓶颈都提供了巨大帮助

二:数据库操作

  1.创建数据库

1 create database db_name charset utf8;
//创建一个名为da_name的数据库,并指定当前库的编码集为utf8

  2.查看数据库

1 //查询当前用户下所有数据库
2 show database;
3 
4 //查看名为db_name的数据库的创建信息
5 show create database db_name;
6 
7 //查询当前操作所在的数据库名称
8 select database();

  3.选择数据库

1 use db_name

  4删除数据库

1 drop database db_name

三:命名规范

1 //1.区分大小写
2 //2.可以由字母,数字,下划线,@,#,$
3 //3.命名要有唯一性
4 //4.不能使用sql关键字作为名称
5 //5.不能单独使用数字
6 //6.最长128位

四:用户权限

  1.用户管理

1 //创建用户,用户名为root,ip地址为127.0.0.1,密码为000000
2 create user 'root'@'127.0.0.1' identified by '000000';
3 
4 //删除刚才创建的用户
5 drop user 'root'@'127.0.0.1';
6 
7 //修改用户名为newroot
8 rename user 'root'@'127.0.0.1' to 'newroot'@'127.0.0.1'

  2.授权管理

1 //查看权限 root用户权限
2 show grants for 'root'@'127.0.0.1'
3 
4 //授权给用户'darkfitch '@'127.0.0.1'
5 grant 权限 on 数据库.表 to 'darkfitch '@'127.0.0.1'
6 
7 //取消授权
8 revoke 权限 on 数据库.表 from 'darkfitch '@'127.0.0.1'
权限列表
all privileges除grant外的所有权限
select 仅查权限
select,insert查和插入权限
usage无访问权限
alter使用alter table
alter routine使用alter procedure和drop procedure
create使用create table
create routine使用create procedure
create temporary tables使用create temporary tables
create user使用create user、drop user、rename user和revoke  all privileges
create view使用create view
delete使用delete
drop使用drop table
execute使用call和存储过程
file使用select into outfile 和 load data infile
grant option使用grant 和 revoke
index使用index
insert使用insert
lock tables使用lock table
process使用show full processlist
select使用select
show databases使用show databases
show view使用show view
update使用update
reload使用flush
shutdown使用mysqladmin shutdown(关闭MySQL)
super使用change master、kill、logs、purge、master和set global。还允许mysqladmin调试登陆
replication client服务器位置的访问
replication slave由复制从属使用

五:修改密码

  1.mysqladmin命令

mysqladmin -u用户名 -p密码 password 新密码

  2.直接设置用户名密码

1 set password for '用户名'@'ip地址' = password('新密码');
2 
3 
4 //刷新
5 flush privileges;

  3.修改mysql库下的user表

 1 //5.7版本修改密码方式:
 2 update mysql.user set authentication_string = password('新密码') where user = '用户名'
 3 
 4 //刷新权限
 5 flush privileges;
 6 
 7 //5.6版本
 8 update mysql.user set password = password('新密码') where user = '用户名';
 9 
10 flush privileges;

六:忘记密码

 

在忘记root密码的时候,可以这样:
 
#1.首先打开cmd 窗口,关闭mysql服务
    net stop mysql
 
#2.然后跳过权限检查,启动mysql,输入命令
    mysqld --skip-grant-tables
 
#3.重新打开一个新的cmd窗口,启动客户端(已跳过权限检查,可以直接登录)
    mysql
 
#4.直接进来,修改密码
update mysql.user set authentication_string=password('123456') where user='root';
 
#5. 刷新权限
flush privileges;

七:中文乱码问题

  1.查询字符编码

show variables like 'char%';

  2.解决乱码问题

 1  1 #修改方法:
 2  2 #1. 创建my.ini文件,放在mysql根路径下
 3  3 #2. 在该文件中添加以下内容即可:
 4  4 #3.添加此文件后需要重新启动服务,以保证此文件生效
 5  5 ------------------------------------------------------------
 6  6 [client]
 7  7 
 8  8 default-character-set=utf8
 9  9 
10 10 [mysql]
11 11 
12 12 #设置mysql客户端默认字符集
13 13 
14 14 default-character-set=utf8
15 15 
16 16 [mysqld]
17 17 
18 18 #设置3306端口
19 19 
20 20 port = 3306
21 21 
22 22 #允许最大连接数
23 23 
24 24 max_connections=200
25 25 
26 26 #服务端使用的字符集默认为8比特编码的latin1字符集
27 27 
28 28 character-set-server=utf8
29 29 
30 30 #创建新表时将使用的默认存储引擎
31 31 
32 32 default-storage-engine=INNODB
33 33 
34 34 #解决mysql在执行sql语句后出现1055错误,sql_mode = only_full_group_by不相容
35 35 
36 36 sql_mode='NO_ENGINE_SUBSTITUTION'
解决乱码问题

 

转载于:https://www.cnblogs.com/dakrfitch/p/8609133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值