linux下关于mysql的命令的用法

  1. 所有关于mysql的命令都在/usr/bin/中, 使用 /usr/bin | grep 'mysql'可以列出这些mysql命令
  2. 导出数据库, 可以直接在 命令行中, 使用 mysqldump -u root -p dbname_to_export > dbname_to_export.sql
  3. 但是, 在 导入数据库的时候, 要先进入 mysql的服务器主机, 然后使用 source dbname_to_import.sql 即可. 这些sql文件其实, 就是一些创建 数据表/插入数据的命令等.
    还有一种导入数据库的方法是:
    直接在 /var/lib/mysql 目录中, 使用命令: mysql -u root -p foo_db < ~/sqlscipt.d/foo_db.sql 来导入数据库. 这样看起来不需要进入 mysql 数据库, 但是由于 他必须要求 导入的数据库foo_db 必须事先已经存在, 否则就会报错说 foo_db不存在. 要创建数据库的话, 就已经进入mysql服务器了, 那就直接使用命令 source... 了, 就没有必要 再退出来了. 只是说, 如果 那个数据库原本已经存在的话, 就可以这样作.

关于wget远程主机的问题

如何理解http://remote.com ? 其实就是 远程的 这样 一个 机器, 在上面部署了 web服务器引擎, 这样就能 对外提供 http 的访问了. 远程的机器 通过http 请求, 就能获得 服务器主机上的 文件资源. 第一, http请求的方式很多, 包括浏览器(先获得文件, 然后再加上一个渲染的工作), wget, curl, 甚至下载工具都可以; 第二,获取的 资源 包括 所有类型的文件都可以, html, php, jpg等图片 等都可以; 第三, 这个 http-/remote.com **地址 ** 就 代表/就等于/就是 : 服务器机器上 - web引擎 所配置的- 那个 www根目录, 我们http 协议所能访问/看到的 最多 就只能是 这个www/ 目录(真实目录) 下的 东西.

所以 我们要通过http协议 "远程" 获取资源的话, 就必须将 文件 放在 www 根目录 以下 的 路径.

rehash: n/v. 改头换面, 翻版; 重复, 炒冷饭, (用旧的东西, 旧作品)改编, 改编的作品; a feeble rehash; a rehash of old subjects

::: -A, --no-auto-rehash
No automatic rehashing. One has to use 'rehash' to get
table and field completion. This gives a quicker start of
mysql and disables rehashing on reconnect.
启动mysql时(不是 use db1) , 使用 -A 选项 --no-auto-rehash, 可以加快数据库的 启动速度.

关于访问mysql数据库的 用户的权限?

  1. mysql 数据库 是有权限 限制和 规定的, 不管是 命令行还是 phpmyadmin 管理, 根据你登陆的用户不同, 可以进行的操作 都是不同的. 甚至同样的操作, 显示的结果都是不一样的!
  2. 比如说, 当以mysql直接登陆, 使用的是 普通/匿名/''空用户时, 你是看不到 一些重要数据库的, 比如 mysql, performance_schema ( /var/lib/mysql目录中的数据库, 默认都是 mysql:mysql的owner, 权限都很严格: 基本都是700, 但是这里的数据显示的不同, 好像不是权限的问题???)
    而用root用户登陆的时候, mysql -uroot -p 就可以看到所有的数据库里面的东西了.

这里的 访问和显示的 内容, 好像 与数据库的本身的权限 是无关的, 应该是 mysql这个进程 来控制的??


  1. 所以说 , 要对数据库进行比较 重要的操作, 比如: 创建/修改/插入等命令, 应该以 较高的权限如root用户 登陆; 而 普通的用户/匿名用户, 通常只能对一些 (不重要的数据库 ) 作一些 查看 show/select命令而已

原文地址:https://www.cnblogs.com/bkylee/p/7739315.html