MySQL创建数据库与用户
root远程访问授权
mysql> SHOW
DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema
|
| mysql |
| performance_schema
|
| sys |
+--------------------+
4 rows in set (0.00
sec)
mysql> use
mysql;
Database
changed
--允许在Liang-PC上以root/123456登录
mysql> grant all
privileges on *.* to 'root'@'Liang-PC' identified by '123456' with grant
option;
Query OK, 0 rows affected, 1
warning (0.02 sec)
mysql> flush
privileges;
Query OK, 0 rows affected (0.00
sec)
mysql> select host,user from
user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| liang-pc | root |
| localhost | mysql.session
|
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
4 rows in set (0.00
sec)
MySQL Workbench 8.0
CE
Ctrl+Enter 运行当前语句
#查询数据库连接
show full
processlist;
show status like
'%Max_used_connections%';
show status like
'%Threads_connected%'; #当前连接数
show status like '%table_lock%';
#表锁定
show status like
'innodb_row_lock%'; #行锁定
show status like '%qcache%'; #查询缓存情况
show variables like
"%query_cache%";
SHOW STATUS LIKE
'Qcache%';
show variables like
"%binlog%";
show status like
'Aborted_clients'; #由于客户没有正确关闭连接已经死掉,已经放弃的连接数量
show variables like
'%max_connections%'; #查看最大连接数量
show variables like '%timeout%';
#查看超时时间
show variables like 'log_%'; #查看日志是否启动
mysql注释符
单行注释:#abc 或 --
abc
这里注意oracle/mssql的--注释不需要空格,但mysql的一定要有空格。
多注释:
/*
Abc
*/
创建数据库/Schemas
-- 查看
datadir 位置
show variables like
'%dir%';
show variables
like 'datadir';
Show
databases;
等价
select schema_name from
information_schema.schemata
use
mysql;
show
tables;
SHOW COLUMNS FROM
user;
等价
describe
user;
1、使用create database语句创建数据库
CREATE DATABASE IF NOT EXISTS
study DEFAULT CHARSET utf8;
create database if not exists
study default character set = 'utf8';
2、查看创建的DB的字符集
select
schema_name,default_character_set_name
from information_schema.schemata where schema_name =
'study';
3、通过链接符,改变数据库物理位置
a).关闭服务
b).移动目录
c).mklink /j
"C:\ProgramData\MySQL\MySQL Server 5.7\Data\study"
D:\mysqldata\study
d).启动服务

findstr "^[^#]" "C:\ProgramData\MySQL\MySQL
Server 5.7\my.ini"

4、创建表
CREATE TABLE `study`.`a_temp01`
(
`id` INT NULL,
`text` VARCHAR(45)
NULL);
创建用户并授权
CREATE USER 'ustudy'@'%'
IDENTIFIED BY 'ustudy';
flush
privileges;
select host,user from
mysql.user;
GRANT all privileges ON study.* TO
'ustudy'@'%';
方法分成三种:INSERT
USER表的方法、CREATE USER的方法、GRANT的方法,最终在mysql.user中形成记录。
账号的组成方式:用户名+主机(所以可以出现重复的用户名,跟其他的数据库不一样)
用户名:16字符以内.
主机名:可以用主机名和IP地址,也可以用通配符
通配符说明:172.18.10.%(IP地址为172.18.10段的所有IP地址都可以访问)
CREATE USER的方法
CREATE USER 'username'@'host'
[IDENTIFIED BY 'PASSWORD'];
说明:该方法创建出来的用户只有连接数据库的权限,需要后续继续授权;
GRANT的方法
GRANT
privileges ON databasename.tablename TO 'username'@'host' [identified by
‘password’ WITH GRANT OPTION];
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
当数据库存在用户的时候GRANT会对用户进行授权,但当数据库不存在该用户的时候,就会创建相应的用户并进行授权。
例子:
mysql>grant
select,insert,update,delete on test.hr to john@192.168.10.1 INSERT
USER表的方法123';
说明:给主机为192.168.10.1的用户john分配可对数据库test的hr表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on
test.* to joe@192.168.10.1 identified by
'123';
说明:给主机为192.168.10.1的用户john分配可对数据库test所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on
*.* to john@192.168.10.1 identified by '123';
说明:给主机为192.168.10.1的用户john分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on
*.* to john@localhost identified by '123';
说明:用户john分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
查看用户权限:等价
SHOW grants
FOR ustudy;
SHOW GRANTs
FOR 'ustudy'@'%';
show CREATE database study; 这个可以看到创建study数据库时用到的一些参数。
show create table
study.a_temp01; 可以看到创建study.a_temp01表时用到的一些参数
INSERT USER表的方法
插入方法:创建用户
mysql> insert into
user (host,user,password) values
('%','john',password('123'));
mysql>flush
privileges;
SET
PASSWORD
设置与更改用户密码
SET PASSWORD FOR 'username'@'host'
= PASSWORD('newpassword');
如果是当前登陆用户用:
SET PASSWORD =
PASSWORD("newpassword");
撤销用户权限:由grant变REVOKE
REVOKE privilege ON
databasename.tablename FROM 'username'@'host';
删除用户
DROP USER
'username'@'host';
MySQL创建数据库与用户的更多相关文章
- mysql 创建数据库,添加用户,用户授权
一.创建mysql数据库 1.创建数据库语法 --创建名称为"testdb"数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS testdb ...
- Mysql创建数据库以及用户分配权限
一.创建mysql数据库 1.创建数据库语法 --创建名称为“testdb”数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS testdb DEFAULT C ...
- mysql创建数据库和用户
create database sonar character set utf8 collate utf8_general_ci; flush privileges; grant all privil ...
- MySQL创建数据库及用户
create database ${db_name} default charset utf8 COLLATE utf8_general_ci; grant all on ${db_name}.* t ...
- MySQL创建数据库,用户,赋予权限
CREATE DATABASE 'voyager'; CREATE DATABASE `voyager`; CREATE USER 'dog'@'localhost' IDENTIFIED BY '1 ...
- MySQL创建数据库时指定编码utf8mb4和添加用户
CREATE DATABASE `wordpress` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `wor ...
- mysql创建数据库用户
连接mysql cmd--> mysql -hlocalhost -uroot -pmypassword 退出mysql mysql> quit 也可用exit或者 \q ======== ...
- MySQL 创建数据库
MySQL 创建数据库 使用 mysqladmin 创建数据库 使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用户拥有最高权限,可以 ...
- 五、MySQL 创建数据库
MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...
随机推荐
- 安卓MVP框架
一.理解MVP 原文地址 我的Demo 效果图: 项目结构: 实现 一.Model层 首先定义一个实体类User package app.qcu.pmit.cn.mvpdemo.model; /** ...
- pycharm 执行unittest 没有生成测试报告
解决: [第一步] [第二步]
- Python- - -函数目录
一.函数的定义.调用.返回值.参数. 二.名称空间.作用域.加载顺序.取值顺序. 三.函数的嵌套.作用域链.函数名的应用.闭包. 四.装饰器
- 【IDE】我的花里胡哨VS
我的 VS2017 效果图,花里胡哨但十分养眼,利于C/C++ Coding~ 一.主题设置 工具 → 扩展和更新 下载插件 Color Theme Editor for Visual Studio ...
- redis可执行文件说明
redis-server :redis服务器 redis-cli :redis命令客户端 redis-benchmark :redis性能压测工具 redis-check-dump ...
- C++ allocator
C++ allocator http://www.cnblogs.com/wpcockroach/archive/2012/05/10/2493564.html 说一说C++里的allocator.我 ...
- Django-----加入MD5格式上传图片
上传图片为什么要加 MD5 ? 答 :避免用户上传图片的时候图片名重复,而引起先上传的图片被后上传的图片所覆盖的失误! MD5是什么? 答:一种被广泛使用的密码散列函数,可以产生出一个128位(16字 ...
- 真机*Appium
一.真机连接电脑123 1.一般android手机的的USB调试模式在设置里的开发者选项中,找到开发者选项,打开USB调试 2.cmd命令→[adb devices]→回车,得到真机设备 可能存在问题 ...
- C# 读写欧姆龙(Omron)PLC ,C#使用Fins-tcp协议读写数据
本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 ...
- uboot kernel 博客
https://blog.csdn.net/zqixiao_09/ https://home.cnblogs.com/u/lifexy/ https://blog.csdn.net/chenliang ...