Linux 下操作Mysql指令的总结 远程连接的设置
参考博客:https://www.cnblogs.com/liaocheng/p/4243579.html (常用命令)
https://www.cnblogs.com/zhangzhu/archive/2013/08/22/3274831.html (远程连接的配置)
centOS中常用的Mysql命令:
查看mysql是否安装
rpm -qa | grep mysql
安装mysql
yum -y install mysql-server
- 修改mysql配置
vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记
暂时修改一下编码(添加在密码下方): default-character-set = utf8 - 设置mysql随系统启动
# chkconfig mysqld on ← 设置MySQL服务随系统启动自启动
# chkconfig --list mysqld ← 确认MySQL自启动mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 如果2--5为on的状态就OK
# /etc/rc.d/init.d/mysqld start ← 启动MySQL服务 - 显示当前mysql版本和当前日期
select version(),current_date; - 修改mysql root密码
# mysql -u root ← 用root用户登录MySQL服务器
select user,host,password from mysql.user; ← 查看用户信息
set password for root@localhost=password('在这里填入root密码'); ← 设置root密码
select user,host,password from mysql.user; ← 查看用户信息
exit ← 退出MySQL服务器 - 使用密码登陆mysql
mysql -u root -p - 删除mysql匿名用户
select user,host from mysql.user; ← 查看用户信息
delete from mysql.user where user=''; ← 删除匿名用户
select user,host from mysql.user; ← 查看用户信息 - 查看数据库
show databases; ← 查看系统已存在的数据库
drop database test; ← 删除名为test的空数据库
show databases; ← 查看系统已存在的数据库mysql查看打开的端口: show variables like 'port';
- 创建新用户并为新用户授权
grant all privileges on test.* to centospub@localhost identified by '在这里定义密码'; ← 建立对test数据库有完全操作权限的名为centospub的用户创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令
mysql> grant all privileges on *.* to user@localhost identified by ’口令’
增加新用户
格式:
grant select on 数据库.* to 用户名@登录主机 identified by “密码”
GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;
删除授权:
mysql> revoke all privileges on *.* from root@”%”;
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges; - 细粒度授权
创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb
mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’ - 建立新数据库
create database test; ← 建立名为test的数据库 (注意是否可以建立这个数据库是在上面建立新用户的时候就决定了的) - 使用数据库
use test ← 连接到数据库
show tables; ← 查看数据库中已存在的表 - 删除测试账户
revoke all privileges on *.* from centospub@localhost; ← 取消centospub用户对数据库的操作权限
delete from mysql.user where user='centospub' and host='localhost'; ← 删除centospub用户
select user from mysql.user where user='centospub'; ← 查找用户centospub,确认已删除与否
flush privileges; ← 刷新,使以上操作生效 - 删除数据库
drop database name 直接删除数据库,不提醒
mysqladmin drop databasename 删除数据库前,有提示。 - 表操作
show tables; 显示表
describe tablename; 表的详细描述
重命名表: mysql > alter table t1 rename t2; - CentOS系统中mysqldump
在shell中执行下面的命令
备份数据库 shell> mysqldump -h yourhost vi-u root -p dbname >dbname_backup.sql
恢复数据库 shell> mysqladmin -h yourhost -u root -p create dbname
shell> mysqldump -h yourhost -u root -p dbname < dbname_backup.sql
如果只想Dump建表指令,则命令如下: shell> mysqladmin -u root -p -d databasename > a.sql
如果只想Dump插入数据的sql命令,而不需要建表命令,则命令如下: shell> mysqladmin -u root -p -t databasename > a.sql
那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢? mysqldump -T./ phptest driver
其 中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。 - 可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。
可利用输入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查询,可如下执行这些查询:
如果您想将建表语句提前写在sql.txt中: mysql > mysql -h yourhost -u root -p yourdatabase < sql.txt
报错:
Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQL的远程帐号
解决方式:
开启mysql的远程连接:
如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL
在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,然后cd 进入MySQL 的 bin 目录下,然后输入下面的命令。
> MySQL -uroot -p123456 (123456 为 root 用户的密码。)
如何开启MySQL的远程帐号-2)创建远程登陆用户并授权
> grant all PRIVILEGES on test_db.* to root@'192.168.1.101' identified by '123456';
上面的语句表示将 test_db 数据库的所有权限授权给 root 这个用户,允许 root 用户在 192.168.1.101 这个 IP 进行远程登陆,并设置 root 用户的密码为 123456 。
下面逐一分析所有的参数:
all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
test_db.* 表示上面的权限是针对于哪个表的,test_db指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。
root 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
192.168.1.101 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。
123456 为用户的密码。
如何开启MySQL的远程帐号-3)执行了上面的语句后,再执行下面的语句,方可立即生效。
> flush privileges;
Linux 下操作Mysql指令的总结 远程连接的设置的更多相关文章
- linux 下解决mysql root 权限无法远程连接问题
问题描述:MySQL数据库安装成功后,在服务器本地可以连接成功,但是使用工具navicat无法进行远程连接,如图: 原因:MySQL默认只允许root帐户在本地登录,如果要在其它机器上连接mysql, ...
- linux/ubantu 安装 mysql 并且使其支持远程连接
前言:打开ubantu的 控制台 或者 远程连接到 ubantu的服务器 其他的 linux 基本类似 可能下载 方式稍微不同 开始吧! [第一步]首先是安装(目前是2019-4-9 默认安装的是 ...
- Ubuntu16.04 server下配置MySQL,并开启远程连接
背景 最近正在学nodejs,想到曾经有台云服务器,但是很久不用了,由于怕麻烦,一股脑的把云主机重装了个Ubuntu系统,于是配置MySQL成了配置服务中的一个环节(node用不用MySQL不管,主要 ...
- linux下操作mysql
有关mysql数据库方面的操作,必须首先登录到mysql中. 开启MySQL服务后,使用MySQL命令可以登录.一般使用mysql -uroot -p即可.如果数据库不是本机,则需要加参数,常用参数如 ...
- Linux下查看mysql、apache是否安装,安装,卸载等操作
Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root ? :: /bin/sh /usr/ ...
- Linux下PHP+MySQL+CoreSeek中文检索引擎配置
说明: 操作系统:CentOS 5.X 服务器IP地址:192.168.21.127 Web环境:Nginx+PHP+MySQL 站点根目录:/usr/local/nginx/html 目的:安装co ...
- windows下数据库文件使用脚本同步到linux下的mysql数据库中
1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...
- Linux 下安装mysql 5.7
Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...
- 【linux下-远程访问mysql数据库报错问题】
虚拟机跑Linux项目用到MySQL数据库,可是远程连接MySQL时总是报出erro 2003: Can't connect to MySQL server on '211.87.***.***' ( ...
随机推荐
- Window10升级遇到大坑错误代码:0xc000000e完美解决方案
昨天忽然升级了,然后并没有立即重启更新,因为但是正在工作所以等下班回到家后就是一直提示:文件:\Windows\system32\winload.efi 错误代码:0xc000000e!!! 如下图所 ...
- ios的跨站脚本限制
概述 项目中碰到一个问题,就是在ios机上,用iframe内嵌的网页有时需要登录,有时候又不需要登录.查找了半天,终于发现是ios的跨站脚本限制导致的.这里就来介绍下跨站脚本限制,供以后开发时参考,相 ...
- CAS机制与自旋锁
CAS(Compare-and-Swap),即比较并替换,java并发包中许多Atomic的类的底层原理都是CAS. 它的功能是判断内存中某个地址的值是否为预期值,如果是就改变成新值,整个过程具有原子 ...
- IDEA同步上传lua代码,方便开发。
因项目是Java和lua一起开发的,以前用Notepad++插件连接,每次关掉得重新寻找目录.有点耗时间,所以用idea提供的工具很是便利,再此做个笔记. 点击上面的绿色”+“号,添加 在配置mapp ...
- C#利用NPOI操作Excel文件
NPOI作为开源免费的组件,功能强大,可用来读写Excel(兼容xls和xlsx两种版本).Word.PPT文件.可是要让我们记住所有的操作,这便有点困难了,至此,总结一些在开发中常用的针对Excel ...
- Chapter 5 Blood Type——32
"Where are you all going, exactly?" He was still looking ahead, expressionless. “真的,你要去哪里? ...
- Docker进阶之一:Docker介绍与体系结构
一. Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源,基于Linux内核的cgroup,namespace,Union FS 等技术, ...
- 基础知识:语言、编程、计算机组成、cpu、存储器
2019年3月18日一. 语言:一种事物与另外一种事物沟通的介质. 编程语言:程序员与计算机沟通的介质. 编程:把要让计算机做的事用一种编程语言表达出来. ...
- C# 创建、更改Excel命名区域(NamedRange)
创建命名区域是指给选定的某个单元格或多个单元格区域设置名称,目的是方便我们在文件中的其他地方对该单元格区域进行引用能够简化公式引用或者方便数据管理.下面记录了具体的C#示例代码.这里创建命名区域分为了 ...
- 【Redis】redis各类型数据存储分析
一.简介和应用 Redis是一个由ANSI C语言编写,性能优秀.支持网络.可持久化的K-K内存数据库,并提供多种语言的API.它常用的类型主要是 String.List.Hash.Set.ZSet ...