linux上操作mysql数据库
首先先安装mysql
ubuntu下
sudo apt-get install mysql-server
centos
yum install -y mysql-server mysql mysql-deve
sudo /etc/init.d/mysql start启动mysql,或者sudo service mysql start
netstat -lntup|grep 3306查看端口3306
grant all privileges on *.* to system@'localhost' identified by 'xxx' with grant option;创建新的用户并赋予所有权限xxx密码
flush privileges;刷新权限
mysql -u root -pxxx登录mysql
查看mysql数据库里操作命令历史
cat /root/.mysql_history
# 查看MySQL字符集设置情况
show variables like 'character_set%';
# 查看库的字符集
show create database db;
# 查看表的字符集
show create table db_tb\G
# 查询所有
show collation;
# 设置表的字符集
set tables utf8;
操作相关
#登陆mysql数据库
mysql -uroot –p
#查看有哪些库
show databases;
#删除test库
drop database test;
#使用test库
use test;
#查看有哪些表
show tables;
#查看suoning表的所有内容
select * from suoning;
#查看当前版本
select version();
#查看当前用户
select user();
#查看用户和主机列,从mysql.user里查看
select user,host from mysql.user;
#删除前为空,后为localhost的库
drop user ""@localhost;
#刷新权限
flush privileges;
#跳出数据库执行命令
system ls;
quit
数据库操作
1、查看数据库
SHOW DATABASES; # 默认数据库:
mysql - 用户权限相关数据
test - 用于用户测试数据
information_schema - MySQL本身架构相关数据
2、创建数据库
# utf-8 编码
CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk 编码
CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
3、使用数据库
USE db_name; # 可以不使用分号
4、用户管理
# 创建用户
create user '用户名'@'IP地址' identified by '密码';
# 删除用户
drop user '用户名'@'IP地址';
# 修改用户
rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
# 修改密码
set password for '用户名'@'IP地址' = Password('新密码') PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
# 查看当前用户
select user();
# 查看所有用户
select host,user from mysql.user;
# 人性化显示所有用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
# 查看用户的所有权限
show grants for 'nick'@'%';
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------+
| query |
+---------------------------+
| User: 'nick'@'%'; |
| User: 'root'@'localhost'; |
+---------------------------+
rows in set (0.00 sec)
mysql> select host,user from mysql.user;
+-----------+------+
| host | user |
+-----------+------+
| % | nick |
| localhost | root |
+-----------+------+
rows in set (0.00 sec)
mysql> show grants for 'nick'@'%';
+-----------------------------------------------------------------------------------------------------+
| Grants for nick@% |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'nick'@'%' IDENTIFIED BY PASSWORD '*ECE7D02DCD7D4EF7CFE8E3B249FD1D5062A821F7' |
| GRANT ALL PRIVILEGES ON `kaoshi`.* TO 'nick'@'%' |
| GRANT ALL PRIVILEGES ON `xxxxx`.* TO 'nick'@'%' |
| GRANT ALL PRIVILEGES ON `xxxxxx`.`chouti` TO 'nick'@'%' |
+-----------------------------------------------------------------------------------------------------+
rows in set (0.00 sec)
5、授权管理
# 查看权限
show grants for '用户'@'IP地址'
# 授权
grant 权限 on 数据库.表 to '用户'@'IP地址'
# 取消权限
revoke 权限 on 数据库.表 from '用户'@'IP地址'
常用权限:
all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
usage 无访问权限 对于目标数据库以及内部其他:
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库 对于用户和IP:
用户名@IP地址 用户只能在改IP下才能访问
用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
用户名@% 用户可以再任意IP下访问(默认IP地址为%)
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 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
linux上操作mysql数据库的更多相关文章
- 在linux上安装MySQL数据库,并简单设置用户密码,登录MySQL
在新装的Centos系统上安装MySQL数据库. <p><a href="http://www.cnblogs.com/tijun/">提君博客原创< ...
- 远程登录linux上的mysql数据库
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1; 讲root账户,的HOST设置为%,允许所有公网IP访问. flush priv ...
- linux应用之mysql数据库的安装及配置(centos)
CentOS下Mysql数据库的安装与配置 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲 ...
- linux下对应mysql数据库的常用操作
ssh管理工具连接mysql数据库. 一.连接mysql数据库: 通过shh管理工具,登录linux的用户名,密码,进入ssh的命令行界面后,执行如下命令: mysql -u 数据库用户名 -p 然后 ...
- Linux上通过MySQL命令访问MySQL数据库时常见问题汇总
Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...
- 在LINUX系统上通过LINUX命令安装mysql数据库和JDK环境
此示例通过Winscp工具和Xshell已验证通过 安装示例1: 在Centos6.5上安装JDK-10.0.2版本 检查LINUX系统是否有自带或者安装过的JDK版本:Java -version 查 ...
- C++操作Mysql数据库/Linux下
本文链接:https://blog.csdn.net/Tanswer_/article/details/72796570想用C++写项目,数据库是必须的,所以这两天学了一下C++操作Mysql数据库的 ...
- 【数据库开发】在Windows上和Linux上配置MySQL的过程
[数据库开发]在Windows上和Linux上配置MySQL的过程 标签(空格分隔): [编程开发] 首先是在Windows上尝试用QT进行MySQL数据库开发,结果总出现driver不能load的错 ...
- 使用Navicat连接阿里云服务器上的MySQL数据库=======Linux 开放 /etc/hosts.allow
使用Navicat连接阿里云服务器上的MySQL数据库 1.首先打开Navicat,文件>新建连接> 2,两张连接方法 1>常规中输入数据库的主机名,端口,用户名,密码 这种直接 ...
随机推荐
- [代码片段]读取BMP文件
文件名mybmp.c //实现了读取24位BMP文件,还有一些测试信息 //定义mybmp.c里面用到的函数和相关头文件.常量 //参考了网友sailinghz在CSDN论坛的帖子:http://bb ...
- LeetCode Binary Tree Upside Down
原题链接在这里:https://leetcode.com/problems/binary-tree-upside-down/ Given a binary tree where all the rig ...
- SET Statements for SQLServer
SET SHOWPLAN_ALL { ON | OFF } It will not execute the TSQL statements. It cannot be specified inside ...
- Tomcat Context配置(转)
<Context>元素的属性:path:指定访问该Web应用的URL入口.docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBas ...
- MVC项目实践,在三层架构下实现SportsStore-04,实现分页
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- RTOS
1. http://www.nuttx.org/ 2. http://www.rt-thread.org/page/73.html
- SmartGit as SVN Bridge
This page provides an introduction to SmartGit from an SVN users perspective and shows how the SVN w ...
- 通过SSIS监控远程服务器磁盘空间并发送邮件报警!
由于之前ESB是供应商部署的,且部署在C盘(C盘空间很小,还添加了很多ESB的windows服务日志在C盘,很容易把C盘空间占满,导致ESB服务运行宕机,几乎每隔几周发生一次事故,需要人工干预处理,不 ...
- 连接sql server数据库的两种方式
class DB { private static SqlConnection conn; public static SqlConnection getConn() { //conn = n ...
- csu oj 1330 字符识别?
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1330 1330: 字符识别? Time Limit: 1 Sec Memory Limit: 1 ...