MySql随笔part2 库操作

库操作

一:系统数据库

  • 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

时间: 2024-10-23 02:50:21

MySql随笔part2 库操作的相关文章

mysql二:库操作

一 初识SQL语言 SQL(Structured Query Language 即结构化查询语言)SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发.SQL语言分为3种类型:DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTERDML语句 数据库操纵语言: 插入数据INSERT.删除数据DELETE.更新数据UPDATE.查询数据SELECTDCL语句 数据库控制语言: 例如控制用户的访问权限GRANT.RE

mysql基本认识【关系型数据库和nosql、mysql操作流程和体系,库操作,表操作,数据的操作,字符集的操作,以及php作为client操作数据库】对连接本身没有疑问

1.关系型数据库永久性保存数据的仓库php的变量只是php脚本执行期间,临时性保存变量的空间[使用内存空间临时保存] 关系型数据库:利用二者的关系来描述实体的信息.[利用二维表字段名和字段值来进行描述][关系型数据库根本不是可以使用外键将两个表构建成关联的意思,而是实现描述实体的二维表的形式] nosql:not only sql[sql表示操作关系型数据的语言]所以nosql指的就是非关系型数据库[典型的是键值对型的数据(redis.memcache)][nosql可以视情况添加信息,不需要对

Python 3 mysql 库操作

Python 3 mysql 库操作 一.基础相关知识 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list,相当于一个具体的文件 记录:1 刘海龙 324245234 22,相当于文件中的一行内容 二.SQL语言简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询

mysqli扩展库操作mysql数据库

配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 1 <?php 2 //mysqli扩展库操作mysql数据库,面向对象 3 $mysqli=new MySQLi("localhost","root","root","test"); 4 if($mysqli->connect_

MySQL学习笔记(2)之库操作

库操作(database) 1.显示库: Show databases:显示所有已存在的库 Show databases like '条件':条件查询 条件查询: %匹配0个或多个任意字符串. _可匹配任意一个字符串. 2.查看库资料: Show create database 库名: 3.创建库: Create database 库名: 注释:如果建立库时未指定字符集,则使用安装时默认字符集. 四个级别的字符集:服务器级.数据库级.数据表级.字段级(字符串的字段). 注释:数据库支持多种字符集

php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo   mysql扩展库与mysql数据库区别 ? php设计者封装了一些方法去操作mysql数据库,这些方法集中起来形成了mysql扩展库.mysql数据库存放数据.     2.使用php的MySQL扩展库操作MySQL数据库案例: (1)环境搭建:启用MySQL数据库,在php.ini文件中配置使用MySQL数据库,          

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 参考示例代码,如下所示: /// <summary> /// MySql 数据库操作类 /// </summary> public class MySqlHelper { #region MysqlConnection private static MySql.Data.MySqlClient.MySqlConnection _mysqlConnection; /// <su

一次由MySQL跨库操作所引发的主从复制中断

今天,所有MySQL从服务器上的主从复制都被异常中断了,登陆到其中一台上执行show slave status\G,发现如下错误:--Last_Error: Error 'Operation DROP USER failed for 'guest'@'localhost'' on query. Default database: 'work'. Query: 'drop user 'guest'@'localhost''--也就是说,是 drop user 'guest'@'localhost'

边记边学PHP-(十六)PHP使用MySQL扩展库操作数据库

PHP提供了很多扩展库,这里说的是使用MySQL扩展库,但是这种扩展库在不久的将来就会被摒弃,因为如果使用MySQL扩展库编写的代码在运行的时候会有warning的提示.我本来想直接写另一种,但是感觉这是基础.MySQL扩展库,一说到库,自然而然就想到是一堆函数,很多函数组成一个库,使用扩展库也就是使用里面的函数.MySQL扩展库是完全面向过程的,显然不符合面向对象的特性,被摒弃也是可以理解的.废话不多说,直接上重点. 一.PHP使用MySQL扩展库操作数据库的示意图 此图是我自己画的,可能有不