shell操作mysql
# 查看监听3306端口,mysql是否启动成功
netstat -tnlp | grep :3306
# 创建数据库 school
create database school default character set utf8;
# 将sql数据还原到school数据库中
mysql school < school.sql
创建数据库专属账户
# 进入mysql,创建数据库
create database school;
# 授权school数据库里的表 all权限 给 dbuser@主机登录限制的ip ,密码为123456
# select 查询权限 还有修改 删除
grant all on school.* to dbuser@'localhost' identified by '123456';
# 终端命令行测试
mysql -u dbuser -p -h localhost
# 导入数据
mysql -udbuser -p123456 -h localhost school < ./school.sql
shell 查询mysql数据库
# shell 查询mysql数据库
mysql -udbuser -p123456 -h192.168.56.102 -D school -N -B -e "SELECT * FROM student;"
---
-u 用户名
-p 用户密码
-h 服务器ip地址
-D 连接的数据库
-N 不输出列信息
-B 使用tab键 代替 分隔符
-e 执行的SQL语句
-E 垂直输出
-H 以HTML格式输出
-X 以XML格式输出
---
#####
-u -p -h -D -N -E(-H/-X) -B -e 垂直输出
#####
shell导入数据
#!/bin/bash
user="dbuser"
password="123456"
host="192.168.56.102"
#--txt sql数据的分隔符
IFS="|"
cat data.txt | while read id name birth sex
do
mysql -u "$user" -p"$password" -h"%host" -e"INSERT INTO school.student values('$id','$mame','$birth','$sex')"
done
备份
mysqldump
-u 用户名
-p 密码
-h 服务器ip地址
-d 等价于 --no-data 只导出表结构
-t 等价于 --no-create-info 只导出数据,不导出创建表语句
-A 等价于 --all-databases
-B 等价于 --databases 导出一个或多个数据库
备份到远端
FTP 常用指令
open 与FTP服务器建立连接
user 有权限登录FTP服务器的用户密码 user username password
#!/bin/sh
ftp -in << EOF open 192.168.56.103 user ftp_user redhad cd /tmp put text.sql bye EOF
还没有评论,来说两句吧...