(摘自老徐公众号)
-1- 安装
-2- 命令行入门
1.
有同学会问,有那么多mysql客户端工具,为何要掌握命令行操作?
1)快捷、简单、方便
2)在没有客户端的情况下怎么办
3)如果是mysql未开启第三方访问,客户端就是白瞎
2.
如何通过命令行进入mysql
--Start--
[root@localhost~]# mysql -u root -p #老徐注释:输入左侧命令,回车 root是用户名
Enter password: #老徐注释:输入密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Serverversion: 5.6.23-log Source distribution
Copyright (c) 2000, 2015,Oracleand/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>#老徐注释:如果看到如上信息代表已经进入mysql
--End--
3.
如何查看数据库信息
--Start--
mysql> show databases; #老徐注释:输入左侧命令,回车
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql>#老徐注释:如上就是显示当前存在的数据库
--End--
4.
使用某个数据库
查看当前库下有哪些表
--Start--
mysql> use mysql #老徐注释:左侧,use 表名,使用某个表
Database changed
mysql> show tables; #老徐注释:显示当前数据库下的所有表名
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
28 rows in set (0.00 sec)
mysql>
5.
剩下就是很简单的增删改查了
如:
select * from xx where xx = xx
update xx set xx = xx where xx
delete
insert
等等
具体sql增删改查知识,自行百度,或者买个数据库书好好看
/
- 3 -
Mysql 安装完成后,其实更多的场景,还是通过其他客户端,远程链接 ;
所以,面临一个常见的问题 。
mysql开启远程访问权限的那些坑 。
对于mysql开启远程访问权限
网上各种文章,一抓一大把
今天不重点讲:百度搜索“mysql远程访问”,可以看到你需要的很多文章
1
对于mysql
安装完后,首先必须要开启的就是远程访问
否则,每次都要进mysql服务器操作,坑~
而且,不开启远程访问,程序也无法访问
(正常情况:应用服务器 & 数据库服务器会单独部署)
2
开启权限访问有几种方式:
--修改数据库表 update
--grant方式
3
很多同学按照网上教程配置完后
经常还是会出现无法远程访问
各种错误
4
常见的如下问题
--开启完后,必须要刷新权限 flush privileges
--没有关闭防火墙
--配置文件my.cnf没修改
/
- 4 -
补充几个常用的场景 。
如何通过mysql命令行,导入mysql脚本文件数据?
解决实际的问题:
工作过程中,经常需要导入mysql脚本文件
很多同学可能会说,直接通过mysql客户端导入,轻松搞定;
但是,很多服务器,为了安全考虑,并不会开放第三方客户端登录权限(当然有很多其他方式处理,今天不探讨);
这个时候,怎么导入脚本?
前提:
你已经会操作mysql
知道mysql是啥
会基本的mysql命令(见前面的几个文章内容)
知道 mysql -u root -p123456 是什么意思
-----
正文开始:
第一步:把sql脚本文件导入当前目录,假设文件是:idomysqltest.sql
第二步:确定好要导入到哪个数据库,假设是:isTester.com
第三步:开始导入
mysql服务器输入命令:mysql –uroot –p123456 -DisTester.com
over,轻松搞定!
当然,还有其他方式可以导入,有兴趣自己尝试下
/
- 5 -
如何快速查看mysql数据文件存放路径?
进入mysql终端
mysql>show variables like '%datadir%';
出来的结果即是!
mysql> show variables like '%datadir%';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.02 sec)
/
- 6 -
DB数据非常重要,一般重要操作之前,养成先备份数据的习惯 。
mysql备份数据,一行脚本搞定 。
mysqldump -h192.168.1.111 -u idolaoxu -p dbname >dbname_file.bak
说明:
1)-h后是主机ip,如果是数据库在本机,不需要指定-h参数
2)-u后是mysql用户
3)-p是密码
4)dbname是需要备份的mysql数据库名
5)>之后是备份后的文件名
/
- 7 -
很多时候,需要查看mysql连接数 。
很简单,在mysql命令行,或者客户端执行如下命令即可:
#show status like 'Threads%';
'Threads_cached','50'
'Threads_connected','21' ###这个数值指的是打开的连接数
'Threads_created','74'
'Threads_rejected','0'
'Threads_running','3' ###这个数值指的是激活的连接数,这个数值一般远低于connected数值
#show variables like '%max_connections%';
这是是查询数据库当前设置的最大连接数
/