Mysql从安装、登录到使用命令使用详情(一)

第一部分 非数据操作常用命令(安装、密码、登录、授权、导入导出、查看)

1、安装Mysql

1.1 下载


官方下载:mysql-5.7.16-winx64
个人分享:mysql-5.7.16-winx64 【提取码:0001】

· 点击此处 → 选择其他mysql版本


1.2 解压并设置my.ini文件

· 在解压所在的文件夹下创建my.ini文件,并输入以下内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
#设置端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\Program Files\mysql-5.7.16-winx64
# 设置数据的存放目录,也就是以后数据库、数据库表所在的位置
datadir=D:\Java\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

1.3 安装mysql

Tip:管理员权限下
· 将下载的文件解压,然后在管理员权限下打开cmd,键入以下命令
D:\Program Files\mysql-5.7.16-winx64\bin>mysqld --install
Service successfully installed.
· 初始化数据库,生成data文件夹
D:\Program Files\mysql-5.7.16-winx64\bin>mysqld --initialize-insecure
· 启动数据库服务
D:\Program Files\mysql-5.7.16-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
· 打开资源管理器 -> 服务 -> Mysql,意味着mysql服务已经开启

在这里插入图片描述

2、修改密码

· 键入以下命令,root为默认用户名,初始无密码直接回车,接下来就可以使用密码登录了,以后依旧可以使用以下命令来更改密码
Tip:以下root均为默认用户名
C:\Users\hct>mysqladmin -uroot -p password
Enter password: 
New password: ******
Confirm new password: ******

3、连接Mysql

3.1 本地连接

· 这里的root是我本地数据库的登录名,按下回车后提示输入密码,若在-p后直接输入密码也可以在直接进入mysql命令行,
C:\Users\hct>mysql -u root -p
Enter password:

如下,会有一个Warning的警告

Tip:在使用数据库5.5及之前版本不会有该警告,之后版本 Mysql官方 考虑安全问题避免显示输入密码
C:\Users\hct>mysql -u root -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40633
Server version: 5.7.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/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>

3.2 远程连接

· 相比于本地连接,多增加一个-h参数,后面紧跟连接的主机地址
连接的前提是:目标主机地址已经安装的mysql并且设置了远程连接授权
C:\Users\hct>mysql -h192.168.1.90 -u root -p
Enter password: ******

4、用户权限

4.1 远程授权

· 远程授权有多种方式,如下,选择一种即可
//1、赋予任何主机以root用户无密码访问数据的权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//2、root使用123456从任何主机连接到mysql服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION; 
//3、只允许用户root从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3'IDENTIFIED BY '123456' WITH GRANT OPTION;
//4、更新版本的mysql授权
mysql>alter user 'root'@'localhost' identified by '123456';(by 接着的是密码)
//5、只授权部分权限:
mysql> grant select,insert,update,delete,create,drop on mysql.* to 'root'@'192.168.1.90' identified by '123456';
//刷新生效
mysql>FLUSH PRIVILEGES
//常用方法
grant all on *.* to root@'%' identified by '123456';
flush privileges;
sudo service mysql restart
· mysql创建用户并授权格式:grant 权限 on 数据库名.表名 to 用户@登录主机ip identified by "用户密码"; 具体应用如下
mysql> grant all on *.* to root@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.32 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.18 sec)
#重启mysql服务
mysql> sudo service mysql restart;

4.2 收回权限

· 收回select、insert、update、delete部分或全部权限,也可指定
格式: revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
mysql> revoke select on * . * from root;
Query OK, 0 rows affected (0.20 sec)
mysql> revoke select on loo.user from 'root'@'localhost';

5、导入导出sql文件

5.1 导入sql文件

· 登录mysql数据库后执行source 所在位置+文件名.sql 即可运行sql文件执行里面的建库、建表、插入数据等操作
mysql> source C:\Users\hct\Desktop\user.sql

Query OK, 0 rows affected (0.03 sec)
Database changed
mysql>
· 不进入mysql执行mysql -u root -p < 需要执行的SQL文件名.sql
C:\Users\hct\Desktop>mysql -u root -p loo < C:\Users\hct\Desktop\user.sql
Enter password: ******

C:\Users\hct\Desktop>

5.2 导出sql文件

· 执行 mysqldump -uroot -p 数据库名 > 自定义文件名.sql 即可导出指定数据库的sql
可选项:
--no-data 仅备份数据库结构 --no-create-info 仅备份数据库数据 --all-database 备份所有数据库
C:\Users\hct\Desktop>mysqldump -u root -p loo > loo1.sql
Enter password: ******

C:\Users\hct\Desktop>mysqldump -u root -p --no-data loo > loo2.sql
Enter password: ******

C:\Users\hct\Desktop>mysqldump -u root -p --no-create-info loo > loo3.sql
Enter password: ******

C:\Users\hct\Desktop>mysqldump -u root -p --all-databases > all.sql
Enter password: ******
· 即可看到桌面生成了loo1.sql、loo2.sql、loo3.sql、all.sql

6、查看命令

6.1 查看mysql版本

· 不进入mysql直接查看
C:\Users\hct>mysql -V
mysql  Ver 14.14 Distrib 5.7.16, for Win64 (x86_64)
· 进入mysql中,两种查看版本方式
Tip:在mysql中输入命令必须以 ; (即分号)作为结尾来结束命令的输入,回车才会执行该命令
除了loo数据库其他均为mysql系统自带的数据库,不建议去修改,更不要删除
# 方式一
mysql> select version() from dual;
+-----------+
| version() |
+-----------+
| 5.7.16    |
+-----------+
1 row in set (0.05 sec)
# 方式二
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.16    |
+-----------+
1 row in set (0.00 sec)

6.2 查看mysql中的数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| loo                |
| mysql              |
| performance_schema |
| rayview            |
| sys                |
| test               |
+--------------------+
9 rows in set (0.24 sec)

6.3 查看数据库中的表

· use loo是使用名为loo的数据库
mysql> use loo;
Database changed
mysql> show tables;
+---------------+
| Tables_in_loo |
+---------------+
| user          |
+---------------+
1 row in set (0.01 sec)

6.4 查看用户权限

· show grants for 用户名@ip,之前赋值所有ip都可,可不选择ip查看
mysql> show grants for root;
+-------------------------------------------+
| Grants for root@%                         |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)

6.5 查看mysql数据库的引擎

· 查看数据库支持的引擎
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
· 查看所有支持的引擎及介绍
mysql> show engines \G
....
#不再显示输出内容

6.6 查看建表语句

mysql> show create table user;
+-------+-----------------------------------------------------+
| Table | Create Table                                                                                                                                   |
+-------+-----------------------------------------------------+
| user| CREATE TABLE `user` (
  `id` int(255) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-----------------------------------------------------+
1 row in set (0.14 sec)

6.7 查看表详细描述

mysql> describe user;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(255)     | NO   | PRI | NULL    |       |
| name  | varchar(255) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.30 sec)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值