时间:2021-07-01 10:21:17 帮助过:11人阅读
2.查看数据库
- #查询当前用户下所有数据库
- show databases;
- #查看创建数据库的信息
- show create database db_name;
- #查询当前操作所在的数据库名称
- select database();
3.选择数据库
1 |
USE db_name;
|
4.删除数据库
1 |
DROP DATABASE db_name;
|
- 可以由字母、数字、下划线、@、#、$
- 区分大小写
- 唯一性
- 不能使用关键字如: CREATE SELECT
- 不能单独使用数字
- 最长128位
1.用户管理
1 2 3 4 5 6 |
创建用户
create user ‘用户名‘ @ ‘IP地址‘ identified by ‘密码‘ ;
删除用户
drop user ‘用户名‘ @ ‘IP地址‘ ;
修改用户
rename user ‘用户名‘ @ ‘IP地址‘ ; to ‘新用户名‘ @ ‘IP地址‘ ;
|
2.授权管理
1 2 3 |
show grants for ‘用户‘ @ ‘IP地址‘ -- 查看权限
grant 权限 on 数据库.表 to ‘用户‘ @ ‘IP地址‘ -- 授权
revoke 权限 on 数据库.表 from ‘用户‘ @ ‘IP地址‘ -- 取消权限
|
创建用户及授权例子
- <span style="color: #008000">#</span><span style="color: #008000">创建新用户</span>
- create user <span style="color: #800000">‘</span><span style="color: #800000">alex</span><span style="color: #800000">‘</span>@<span style="color: #800000">‘</span><span style="color: #800000">localhost</span><span style="color: #800000">‘</span> identified <span style="color: #800000">‘</span><span style="color: #800000">123456</span><span style="color: #800000">‘</span><span style="color: #000000">;
- </span><span style="color: #008000">#</span><span style="color: #008000">授权方式一:为alex授权 db1数据库下的所有表的 查询.更新.修改权限</span>
- grant select,update,delete on db1.* to <span style="color: #800000">‘</span><span style="color: #800000">alex</span><span style="color: #800000">‘</span>@<span style="color: #800000">‘</span><span style="color: #800000">localhost</span><span style="color: #800000">‘</span><span style="color: #000000">;
- </span><span style="color: #008000">#</span><span style="color: #008000">授权方式二:为alex 授权 所有库的所有权限(除grant权限外)</span>
- grant all privileges on *.* to <span style="color: #800000">‘</span><span style="color: #800000">alex</span><span style="color: #800000">‘</span>@<span style="color: #800000">‘</span><span style="color: #800000">localhost</span><span style="color: #800000">‘</span><span style="color: #000000">;
- </span><span style="color: #008000">#</span><span style="color: #008000">刷新用户权限</span>
- flush privileges;
权限列表
- <span style="color: #000000">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 </span><span style="color: #0000ff">global</span><span style="color: #000000">。还允许mysqladmin调试登陆
- replication client 服务器位置的访问
- replication slave 由复制从属使用</span>
五.修改密码
方式一: mysqladmin 命令
1 |
mysqladmin -u用户名 -p密码 password 新密码
|
方式二: 直接设置用户密码
1 2 3 |
set password for ‘用户名‘ @ ‘IP‘ = password ( ‘新密码‘ );
flush privileges ;
|
方式三:修改mysql库下的user表
1 2 3 4 5 6 7 |
5.7版本修改密码方式:
update mysql. user set authentication_string= password ( ‘新密码‘ ) where user = ‘用户名‘
flush privileges ; -- 刷新权限
5.6 版本
update mysql. user set password = password ( ‘新密码‘ ) where user = ‘用户名‘
flush privileges ; -- 刷新权限
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
在忘记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.查询字符编码
1 |
SHOW VARIABLES LIKE ‘char%‘ ;
|
2.制服乱码
解决问题
- <span style="color: #008000">#</span><span style="color: #008000">修改方法:</span><span style="color: #008000">
- #</span><span style="color: #008000">1. 创建my.ini文件,放在mysql根路径下</span><span style="color: #008000">
- #</span><span style="color: #008000">2. 在该文件中添加以下内容即可:</span><span style="color: #008000">
- #</span><span style="color: #008000">3.添加此文件后需要重新启动服务,以保证此文件生效</span>
- ------------------------------------------------------------<span style="color: #000000">
- [client]
- default</span>-character-set=<span style="color: #000000">utf8
- [mysql]
- </span><span style="color: #008000">#</span><span style="color: #008000">设置mysql客户端默认字符集</span>
- <span style="color: #000000">
- default</span>-character-set=<span style="color: #000000">utf8
- [mysqld]
- </span><span style="color: #008000">#</span><span style="color: #008000">设置3306端口</span>
- <span style="color: #000000">
- port </span>= 3306
- <span style="color: #008000">#</span><span style="color: #008000">允许最大连接数</span>
- <span style="color: #000000">
- max_connections</span>=200
- <span style="color: #008000">#</span><span style="color: #008000">服务端使用的字符集默认为8比特编码的latin1字符集</span>
- <span style="color: #000000">
- character</span>-set-server=<span style="color: #000000">utf8
- </span><span style="color: #008000">#</span><span style="color: #008000">创建新表时将使用的默认存储引擎</span>
- <span style="color: #000000">
- default</span>-storage-engine=<span style="color: #000000">INNODB
- </span><span style="color: #008000">#</span><span style="color: #008000">解决mysql在执行sql语句后出现1055错误,sql_mode = only_full_group_by不相容</span>
- <span style="color: #000000">
- sql_mode</span>=<span style="color: #800000">‘</span><span style="color: #800000">NO_ENGINE_SUBSTITUTION</span><span style="color: #800000">‘</span>
注意:如果使用的是mysql5.7版本,则需要创建my.ini文件,5.7版本以前数据库自带my,ini文件,直接改动编码即可.
目前最稳定与常用的数据库版本为(5.6版本与5.5版本)
MySQL 之 库操作
标签:设置 syntax db_name 虚拟 一个 load data 字符集 har temporary