十三周四次课

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十三周四次课相关的知识,希望对你有一定的参考价值。

十三周四次课(3月22日)
13.1 设置更改root密码
13.2 连接mysql
13.3 mysql常用命令 

13.1 设置更改root密码

设置更改root密码目录概要

  • /usr/local/mysql/bin/mysql -uroot

  • 更改环境变量PATH,增加mysql绝对路径

  • mysqladmin -uroot password '123456'

  • mysql -uroot -p123456

  • 密码重置

  • vi /etc/my.cnf//增加skip-grant

  • 重启mysql服务 /etc/init.d/mysqld restart

  • mysql -uroot

  • use mysql;

  • update user set password=password('aminglinux') where user='root';

设置更改root密码

  • root用户是mysql的超级管理员用户,和linux系统的root用户类似,不过和Linux的不一样

  • 默认mysql的 root 用户密码是空的,直接就可以连接上去,不需要输入密码,但是不安全,所以就需要设置一个密码

  • 为了方便使用mysql服务,将mysql目录加入到环境变量里

1.打开系统,查看mysql是否启动

[[email protected] vhost]# ps aux |grep mysql

root        838  0.0  0.1 115388  1680 ?        S    20:05   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/tianqi-01.pid

mysql       998  0.0 46.0 981248 460236 ?       Sl   20:05   0:02 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/tianqi-01.err --pid-file=/data/mysql/tianqi-01.pid --socket=/tmp/mysql.sock

root       4175  0.0  0.0 112664   984 pts/0    S+   21:58   0:00 grep --color=auto mysql

[[email protected] vhost]# 

2.若是没有启动mysql的话,将mysql启动起来


[[email protected] ~]# /etc/init.d/mysqld start

Starting MySQL                                             [  OK  ]

[[email protected] ~]# 180321 22:06:42 mysqld_safe A mysqld process already exists

[[email protected] ~]# 

[[email protected] ~]# !ps

ps aux |grep mysql

root        838  0.0  0.1 115388  1680 ?        S    20:05   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/tianqi-01.pid

mysql       998  0.0 46.0 981248 460236 ?       Sl   20:05   0:06 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/tianqi-01.err --pid-file=/data/mysql/tianqi-01.pid --socket=/tmp/mysql.sock

root       4418  0.0  0.0 112660   984 pts/1    R+   22:08   0:00 grep --color=auto mysql

[[email protected] ~]# 

3.在启动mysql后,使用mysql -uroot命令,但是mysql命令会提示不存在,因为安装的mysql是在/usr/local/mysql/bin/mysql,而这个目录并不在环境变量PATH里面,所以它会报错

[[email protected] ~]# mysql -uroot

-bash: mysql: command not found

[[email protected] ~]# ls /usr/local/mysql/bin/mysql

/usr/local/mysql/bin/mysql

[[email protected] ~]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[[email protected] ~]# 

4.若想要这个命令直接运行,需要把PATH做一个更改

[[email protected] ~]# export PATH=$PATH:/usr/local/mysql/bin/

[[email protected] ~]# 

5.这时再来使用mysql -uroot命令就会发现可以使用了

  • 退出mysql输入 quit 即可

[[email protected] ~]# mysql -uroot

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 

6.若想要变量永久生效,还需要将export PATH=$PATH:/usr/local/mysql/bin/ 放入到 /etc/profile

//将内容放到配置文件的最后面,使命令永久生效

export PATH=$PATH:/usr/local/mysql/bin/ 

保存退出

7.假设若是没有运行 export PATH=$PATH:/usr/local/mysql/bin/ 命令,那也不能运行mysql,因为变量还没有生效,想要这个变量生效,在配置文件中加入命令后,还需要执行source /etc/profile 命令,重新加载

[[email protected] ~]# source /etc/profile

[[email protected] ~]# 

8.一般是使用mysql -uroot -p命令

  • -p,表示指定密码

9.密码为空的时候,直接回车就可进入到mysql,并可以在其中操作一些mysql的一些行为

[[email protected] ~]# mysql -uroot -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 


10.退出mysql,输入 quit 即可

11.设置mysql密码,命令为mysqladmin -uroot passwd 'tianqi.1' 在 ' ' 为密码

[[email protected] ~]# mysqladmin -uroot password 'tianqi.1'

Warning: Using a password on the command line interface can be insecure.

[[email protected] ~]# 

12.在设置密码的时候,会看到有输出信息,但这不是报错信息,这是告诉你你现在密码在当前命令行显示出来了,这样不×××全

13.这时在想直接登录mysql,就会提示需要输入密码了


[[email protected] ~]# mysql -uroot

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

14.再使用-p,并输入密码就可以正常的进入到mysql命令行了

[[email protected] ~]# mysql -uroot -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 

知道mysql的root密码,去更改密码

1.若是这时知道mysql密码,去修改mysql密码,看到输出的提示信息不用去理会

  • 格式

    • mysqladmin -uroot -p'hanfeng.1' password 'hanfeng'


[[email protected] ~]# mysqladmin -uroot -p'tianqi.1' password 'tianqi.2'

Warning: Using a password on the command line interface can be insecure.

[[email protected] ~]# 

2.指定新密码去登录,当然也可以不明文指定密码,直接-p回车,输入密码登录也行

[[email protected] ~]# mysql -uroot -p'tianqi.2'

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 9

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 

[[email protected] ~]# mysql -uroot -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 11

Server version: 5.6.35 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.在明文指定密码的时候,密码可以加单引号,也可以不加单引号,建议加上单引号,防止密码有特殊符号的存在——>(若是不加单引号,而密码中又有特殊符号,就有可能会不识别)

不知道mysql的root密码,去更改密码

1.在不知道mysql的root用户密码的时候,先去更改 /etc/my.cnf 下配置文件中加入skip-grant

  • skip-grant ,表示忽略授权,也就是说操作mysql的时候不需要用户名和密码了,能直接登录

[[email protected] ~]# vim /etc/my.cnf

//在[mysqld]下面

加入一行

skip-grant

保存退出

2.在更改配置文件后,重启mysql服务

[[email protected] ~]# /etc/init.d/mysqld restart

Shutting down MySQL...                                     [  OK  ]

Starting MySQL.......                                      [  OK  ]

[[email protected] ~]# 

3.这时候再输入mysql -uroot ,会发现直接进入mysql,而不需要密码了

[[email protected] ~]# mysql -uroot

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 

4.在登录进mysql后,还需要更改一个表,因为用户名和密码是存在于一个mysql库里面的,使用 use mysql; 切换库,在切换到mysql库里面,然后去更改一个存用户名密码的user表

  • use mysql; 切换库


mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> 

5.查看user表,输入select * from user; 命令,会看到输出乱七八糟的乱码,里面存放的就是用户名和密码,还有权限和授权等信息

mysql> select * from user;

………………

| Host      | User | Password

………………

//省略指出都是乱码

6.查看password表,会看到密码都是加密的

mysql> select password from user where user='root';

+-------------------------------------------+

| password                                  |

+-------------------------------------------+

| *1D6E44B005B8029764C395EE17EBA018CB2DD9A2 |

|                                           |

|                                           |

|                                           |

+-------------------------------------------+

4 rows in set (0.05 sec)


mysql> 

7.更改user表,使用update user set password=password('aminglinux') where user='root'; 命令

  • update user set password=password('aminglinux') where user='root';

    • 密码字段    函数        //用于加密密码    高亮部分:为条件语句                        

mysql> update user set password=password('aminglinux') where user='root';

Query OK, 4 rows affected (0.10 sec)

Rows matched: 4  Changed: 4  Warnings: 0


mysql> 

8.提示说4行修改完毕,即使有些行是空的

9.这样密码就更改成功了,输入quit退出数据库即可

mysql> quit

Bye

[[email protected] ~]# 

10.再去 /etc/my.cnf 配置文件中删除免授权配置,即删除skip-grant——>若是不删除,那么之后所有的用户都不需要输入密码,就可以登录进去,这样安全性太低

[[email protected] ~]# vim /etc/my.cnf

//在[mysqld]下面删除刚添加的

skip-grant

保存退出

11.重启mysql服务

[[email protected] ~]# /etc/init.d/mysqld restart

Shutting down MySQL..                                      [  OK  ]

Starting MySQL.......                                      [  OK  ]

[[email protected] ~]# 

12.重启完之后,再用新的密码测试下,会看到新的密码可以登录

[[email protected] ~]# mysql -uroot -paminglinux

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 1

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 

13.这样就是成功更改mysql密码

13.2 连接mysql

连接mysql

  • 本地连接——>即使没有指定,但默认使用sock连接,使用/tmp/mysql.sock连接

    • mysql -uroot -p123456 //输入用户名和密码连接本机

  • 使用ip端口连接远程机器

    • mysql -uroot -p123456 -h[远程mysql主机IP] -P[端口]

[[email protected] ~]# mysql -uroot -paminglinux -h127.0.0.1 -P3306

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 9

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 

  • 使用sock方式连接(只适合在本机使用)如为指定IP就用sock访问

  • mysql -uroot -p123456 -S/tmp/mysql.sock

[[email protected] ~]# mysql -uroot -paminglinux -S/tmp/mysql.sock

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 10

Server version: 5.6.35 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> quit

Bye

[[email protected] ~]# 

  • 连接mysql之后执行命令(常用于shell脚本

  • mysql -uroot -p123456 -e “show databases”

    • show databases //列出所有数据库

[[email protected] ~]# mysql -uroot -paminglinux -e “show databases”

Warning: Using a password on the command line interface can be insecure.

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

[[email protected] ~]# 

13.3 mysql常用命令 

mysql常用命令目录概要

  • 查询库 show databases;

  • 切换库 use mysql;

  • 查看库里的表 show tables;

  • 查看表里的字段 desc tb_name;

  • 查看建表语句 show create table tb_name\G;

  • 查看当前用户 select user();

  • 查看当前使用的数据库 select database();

  • 创建库 create database db1;

  • 创建表 use db1; create table t1(id int(4), name char(40));

  • 查看当前数据库版本 select version();

  • 查看数据库状态 show status;

  • 查看各参数 show variables; show variables like 'max_connect%';

  • 修改参数 set global max_connect_errors=1000;

  • 查看队列 show processlist; show full processlist;

mysql常用命令

  • mysql内部命令和linux系统命令不通用

  • 库是由表组成,表是由字段组成

  • 在mysql 中使用的命令需要使用分号 ; 结尾,否则会出问题

1.登录到mysql

[[email protected] ~]# mysql -uroot -paminglinux

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 13

Server version: 5.6.35 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> 


2.查看数据库 show databases;

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)


mysql> 

3.切换库 use mysql; ——>切换到哪一个库下面

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> 

4.列出所有的表 show tables;

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.01 sec)


mysql> 


5.查看表里的字段 desc tb_name;

6.例子

  • desc user; //查看user表里的所有字段;需要进入相关的库以后才能查看对应的表

//库是由表组成的,表是由字段组成的

mysql> desc user;

+------------------------+-----------------------------------+------+-----+-----------------------+-------+

| Field                  | Type                              | Null | Key | Default               | Extra |

+------------------------+-----------------------------------+------+-----+-----------------------+-------+

| Host                   | char(60)                          | NO   | PRI |                       |       |

| User                   | char(16)                          | NO   | PRI |                       |       |

| Password               | char(41)                          | NO   |     |                       |       |

| Select_priv            | enum('N','Y')                     | NO   |     | N                     |       |

| Insert_priv            | enum('N','Y')                     | NO   |     | N                     |       |

| Update_priv            | enum('N','Y')                     | NO   |     | N                     |       |

| Delete_priv            | enum('N','Y')                     | NO   |     | N                     |       |

| Create_priv            | enum('N','Y')                     | NO   |     | N                     |       |

| Drop_priv              | enum('N','Y')                     | NO   |     | N                     |       |

| Reload_priv            | enum('N','Y')                     | NO   |     | N                     |       |

| Shutdown_priv          | enum('N','Y')                     | NO   |     | N                     |       |

| Process_priv           | enum('N','Y')                     | NO   |     | N                     |       |

| File_priv              | enum('N','Y')                     | NO   |     | N                     |       |

| Grant_priv             | enum('N','Y')                     | NO   |     | N                     |       |

| References_priv        | enum('N','Y')                     | NO   |     | N                     |       |

| Index_priv             | enum('N','Y')                     | NO   |     | N                     |       |

| Alter_priv             | enum('N','Y')                     | NO   |     | N                     |       |

| Show_db_priv           | enum('N','Y')                     | NO   |     | N                     |       |

| Super_priv             | enum('N','Y')                     | NO   |     | N                     |       |

| Create_tmp_table_priv  | enum('N','Y')                     | NO   |     | N                     |       |

| Lock_tables_priv       | enum('N','Y')                     | NO   |     | N                     |       |

| Execute_priv           | enum('N','Y')                     | NO   |     | N                     |       |

| Repl_slave_priv        | enum('N','Y')                     | NO   |     | N                     |       |

| Repl_client_priv       | enum('N','Y')                     | NO   |     | N                     |       |

| Create_view_priv       | enum('N','Y')                     | NO   |     | N                     |       |

| Show_view_priv         | enum('N','Y')                     | NO   |     | N                     |       |

| Create_routine_priv    | enum('N','Y')                     | NO   |     | N                     |       |

| Alter_routine_priv     | enum('N','Y')                     | NO   |     | N                     |       |

| Create_user_priv       | enum('N','Y')                     | NO   |     | N                     |       |

| Event_priv             | enum('N','Y')                     | NO   |     | N                     |       |

| Trigger_priv           | enum('N','Y')                     | NO   |     | N                     |       |

| Create_tablespace_priv | enum('N','Y')                     | NO   |     | N                     |       |

| ssl_type               | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       |

| ssl_cipher             | blob                              | NO   |     | NULL                  |       |

| x509_issuer            | blob                              | NO   |     | NULL                  |       |

| x509_subject           | blob                              | NO   |     | NULL                  |       |

| max_questions          | int(11) unsigned                  | NO   |     | 0                     |       |

| max_updates            | int(11) unsigned                  | NO   |     | 0                     |       |

| max_connections        | int(11) unsigned                  | NO   |     | 0                     |       |

| max_user_connections   | int(11) unsigned                  | NO   |     | 0                     |       |

| plugin                 | char(64)                          | YES  |     | mysql_native_password |       |

| authentication_string  | text                              | YES  |     | NULL                  |       |

| password_expired       | enum('N','Y')                     | NO   |     | N                     |       |

+------------------------+-----------------------------------+------+-----+-----------------------+-------+

43 rows in set (0.03 sec)


mysql> 

//Field就是代表了字段


7.查看建表语句 show create table tb_name\G;——>G 表示竖排显示

8.例子

  • show create table user\G;

mysql> show create table user\G

*************************** 1. row ***************************

       Table: user

Create Table: CREATE TABLE `user` (

  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',

  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',

  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',

  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',

  `ssl_cipher` blob NOT NULL,

  `x509_issuer` blob NOT NULL,

  `x509_subject` blob NOT NULL,

  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',

  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',

  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',

  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',

  `plugin` char(64) COLLATE utf8_bin DEFAULT 'mysql_native_password',

  `authentication_string` text COLLATE utf8_bin,

  `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',

  PRIMARY KEY (`Host`,`User`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'

1 row in set (0.00 sec)


mysql> 

//这样的结果比上面的表示还要详细

9.查看当前用户 select user();

mysql> select user();

+----------------+

| user()         |

+----------------+

| [email protected] |

+----------------+

1 row in set (0.01 sec)


mysql>

  • 这里的localhost 表示主机名,会反解析你的IP所属主机名

10.在mysql里面使用 方向键 可以查看之前使用的命令,和shell的命令类似,并且也有记录命令历史的功能,默认的缓存文件在 / 下,名字为“.mysql_history”

  • 支持ctrl+l 清屏

[[email protected] ~]# ls -la

total 68

dr-xr-x---.  6 root root   238 Mar 22 21:36 .

dr-xr-xr-x. 18 root root   256 Feb 27 08:31 ..

-rw-------.  1 root root  1420 Jan 26 09:23 anaconda-ks.cfg

-rw-------.  1 root root 27003 Mar 21 22:36 .bash_history

-rw-r--r--.  1 root root    18 Dec 29  2013 .bash_logout

-rw-r--r--.  1 root root   176 Dec 29  2013 .bash_profile

-rw-r--r--.  1 root root   176 Dec 29  2013 .bashrc

-rw-r--r--.  1 root root   100 Dec 29  2013 .cshrc

-rw-------   1 root root   716 Mar 22 21:36 .mysql_history

drwxr-----   3 root root    19 Feb 27 20:16 .pki

drwxr-xr-x   2 root root     6 Mar  5 08:43 practice

-rw-------   1 root root  1024 Mar 21 20:44 .rnd

drwxr-xr-x.  2 root root   157 Jan 26 10:23 shell

drwx------   2 root root    29 Mar 19 22:52 .ssh

-rw-r--r--.  1 root root   129 Dec 29  2013 .tcshrc

-rw-------   1 root root  7460 Mar 22 19:52 .viminfo

[[email protected] ~]# 

[[email protected] ~]# less .mysql_history



_HiStOrY_V2_

use\040mysql

select\040*\040from\040user;

show\040databases;

use\040mysql;

show\040tables;

desc\040users;

desc\040user;

show\040create\040table\040user\134G

show\040create\040table\040user

show\040create\040table\040user;

show\040create\040table\040user\040show\040create\040table\040user;

show\040create\040table\040user

show\040create\040user;

show\040create\040table\040user;

select\040*from\040user;

show\040create\040table\040user;

show\040create\040table\040user\134G;

use\040user;

show\040databases;

use\040mysql;

show\040tables;

desc\040user;

show\040create\040table\040user;

show\040create\040table\040user\134G;

select\040*\040from\040user;

select\040*\040from\040user\134G;

select\040user();

11.查看当前使用的数据库 select database();

mysql> select database();

+------------+

| database() |

+------------+

| NULL       |

+------------+

1 row in set (0.00 sec)


mysql> 

//NULL代表为空

mysql> use mysql;        //切换到mysql下

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> select database();

+------------+

| database() |

+------------+

| mysql      |

+------------+

1 row in set (0.00 sec)


mysql> 



创建库

1.创建库 create database db1;

mysql> create database db1;

Query OK, 1 row affected (0.00 sec)


mysql> 

2.查看db1库

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| db1                |

| mysql              |

| performance_schema |

| test               |

+--------------------+

5 rows in set (0.00 sec)


mysql> 

3.切换到db1库下面去

mysql> use db1;

Database changed

mysql> 

4.创建表 create table t1(id int(4), name char(40));——>定义 id 和 name ,并用反引好括起来

mysql> create table t1(id int(4), name char(40));

Query OK, 0 rows affected (0.17 sec)


mysql> 

5.查看创建的表t1,默认使用的是InnoDB 引擎

mysql> show create table t1\G;

*************************** 1. row ***************************

       Table: t1

Create Table: CREATE TABLE `t1` (

  `id` int(4) DEFAULT NULL,

  `name` char(40) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.12 sec)


ERROR: 

No query specified


mysql> 

6.在数据库里面取消命令,即在命令的最前面加一个 # 号就不会生效了

7.删除表 drop table t1;

mysql> drop table t1;

Query OK, 0 rows affected (0.08 sec)


mysql> 

8.创建t1表

mysql> create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.03 sec)


mysql> 

9.查看表,会看到变成了utf8

mysql> show create table t1\G;

*************************** 1. row ***************************

       Table: t1

Create Table: CREATE TABLE `t1` (

  `id` int(4) DEFAULT NULL,

  `name` char(40) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)


ERROR: 

No query specified


mysql> 

10.查看当前数据库版本 select version();

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.6.35    |

+-----------+

1 row in set (0.05 sec)


mysql> 

11.查看数据库状态 show status; 它会把常用的数据都列出来

mysql> show status;

+-----------------------------------------------+-------------+

| Variable_name                                 | Value       |

+-----------------------------------------------+-------------+

| Aborted_clients                               | 0           |

| Aborted_connects                              | 10          |

| Binlog_cache_disk_use                         | 0           |

| Binlog_cache_use                              | 0           |

| Binlog_stmt_cache_disk_use                    | 0           |

| Binlog_stmt_cache_use                         | 0           |

| Bytes_received                                | 1235        |

| Bytes_sent                                    | 22520       |

| Com_admin_commands                            | 0           |

| Com_assign_to_keycache                        | 0           |

| Com_alter_db                                  | 0           |

| Com_alter_db_upgrade                          | 0           |

…………………………………………//下面省略很多

12.查看各参数

  • show variables;

  • show variables like 'max_connect%'; //mysql下 % 为通配符

mysql> show variables like 'max_connect%';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| max_connect_errors | 100   |

| max_connections    | 151   |

+--------------------+-------+

2 rows in set (0.00 sec)


mysql> show variables like 'slow%';

+---------------------+--------------------------------+

| Variable_name       | Value                          |

+---------------------+--------------------------------+

| slow_launch_time    | 2                              |

| slow_query_log      | OFF                            |

| slow_query_log_file | /data/mysql/tianqi-01-slow.log |

+---------------------+--------------------------------+

3 rows in set (0.00 sec)


mysql> 

13.修改参数 set global max_connect_errors=1000; ——>仅在内存中生效

mysql> set global max_connect_errors=1000;

Query OK, 0 rows affected (0.04 sec)


mysql> show variables like 'max_connect%';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| max_connect_errors | 1000  |

| max_connections    | 151   |

+--------------------+-------+

2 rows in set (0.00 sec)


mysql> 

  • 若想重启依然生效,那需要修改配置文件/etc/my.cnf

  • 在[mysqld]里面定义

14.查看队列

  • show processlist; //查看库的状况,比如,那些用户在连,做了些什么操作,是否锁表

mysql> show processlist;

+----+------+-----------+------+---------+------+-------+------------------+

| Id | User | Host      | db   | Command | Time | State | Info             |

+----+------+-----------+------+---------+------+-------+------------------+

| 19 | root | localhost | db1  | Query   |    0 | init  | show processlist |

+----+------+-----------+------+---------+------+-------+------------------+

1 row in set (0.00 sec)


mysql> show full processlist;

+----+------+-----------+------+---------+------+-------+-----------------------+

| Id | User | Host      | db   | Command | Time | State | Info                  |

+----+------+-----------+------+---------+------+-------+-----------------------+

| 19 | root | localhost | db1  | Query   |    0 | init  | show full processlist |

+----+------+-----------+------+---------+------+-------+-----------------------+

1 row in set (0.00 sec)


mysql> 

以上是关于十三周四次课的主要内容,如果未能解决你的问题,请参考以下文章

十三周四次课 更改root密码mysql连接常用命令

三周第四次课(2月8日)

三周第四次课(12月28日)

三周第四次课(2月8日)

三周第四次课

2018.4.13 三周第四次课