2018-07-11 课后笔记

课前预习

13.1 设置更改root密码
13.2 连接mysql
13.3 mysql常用命令
13.4 mysql用户管理
13.5 常用sql语句
13.6 mysql数据库备份恢复

 13.1 设置更改root密码

首先是看看mysql服务有么有启动,没有就启动服务。

5ec66ecf4ccc1b821bcc5e78eec7ca99185.jpg

然后执行这个命令,显示命令不存在,

471f168847e2191f53112419c295bfcf49c.jpg

如果想要这个命令能够运行,需要把这个环境PATH做一个更改。执行这一条命令

5c7b4c1c8bfedf10aa6a0107ef8db216cf9.jpg

我们在来运行一下mysql -uroot,这样就进入到了mysql里面去了。

7c48465ff1f19d1cee5644e0c1a78db273c.jpg

但是上面export的命令是临时生效的,如果想要永久生效,需要把export PATH=$PATH:/usr/local/mysql/bin/这一条命令放到 etc/profile去,才能永久生效。

[root@liuhongwei ~]# vi /etc/profile

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# will prevent the need for merging in future updates.

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}


if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
        # ksh workaround
        EUID=`id -u`
        UID=`id -ru`
    fi
    USER="`id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi
if [ "$EUID" = "0" ]; then
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=10000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# will prevent the need for merging in future updates.

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}


if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
        # ksh workaround
        EUID=`id -u`
        UID=`id -ru`
    fi
    USER="`id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi
if [ "$EUID" = "0" ]; then
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=10000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

unset i
unset -f pathmunge
export PATH=$PATH:/usr/local/mysql/bin/

保存退出以后呢,我们还需要source一下:

085e8534246534d88062a39bfa85e7eb73c.jpg

然后我们运行mysql -uroot -p 可以加上-p选项 指定密码,因为此时是没有密码的,所以直接按下回车

d8fd2c44bde9307165564ea2f1458464379.jpg

上一条命令中,-u是用来指定要登录的用户,后面有无空格均可,root是用户nysql自带的管理员账户,默认是没有密码的。在这个页面下输入quit 或者exit 都能退出来。
  • 设定mysql的密码,如下:

c675a5adc57c804504899acf59849be1c97.jpg

此时会出现一个警告的信息,并不是错误的信息,这个意思是你的密码行暴露 出来了,并不安全。

我们设置完密码后,看看还能不能直接mysql -uroot登录

06c0feda83b579e22a4cb201dac661a6fd2.jpg

这个时候出现了报错信息,他提示我们root账号是需要密码登录的。

这个时候我们加上-p 输入刚才我们创建的密码,进行登录,就可以了 。

c6d481a3be6027a623d47a471e48cb8434a.jpg

接下来是怎么更改密码,如下:  其实就是重新设置一下密码。

e0d8a41e09abba8698d081b7c52a554e3dd.jpg

使用新密码登录。

102a497d3c560e023da379f73a152d6d4ff.jpg

  • 还有一种方法就是不知道root的密码,怎么更改mysql的密码呢?

那就需要我们更改配置文件了。

0dfd2bbb439c51fbbeb92c0597f6fc999c2.jpg

然后还得重新启动服务:

53f5ba43d40c65d618a7b009c03a15966e2.jpg

然后测试一下,看看需要不需要密码:

f5053d74745dad5b713e8be7d71a974a168.jpg

进来之后呢,我们切换一个库:

e7f3af08041784f50b64f76221fbbb0e06a.jpg

然后看一下存放用户密码文件的表:

mysql> select * from user;
+------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-----------------------+------------------+
| Host       | User | Password                                  | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string | password_expired |
+------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-----------------------+------------------+
| localhost  | root | *99F258F86ECDBBA422FF780B641C0C87CAE3FE28 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password |                       | N                |
| liuhongwei | root |                                           | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password |                       | N                |
| 127.0.0.1  | root |                                           | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password |                       | N                |
| ::1        | root |                                           | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password |                       | N                |
| localhost  |      |                                           | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | NULL                  | N                |
| liuhongwei |      |                                           | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | NULL                  | N                |
+------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-----------------------+------------------+
6 rows in set (0.00 sec)

我们需要在这个表里面去更改:如下:

d02675af4a5b9c44871f731f973e442b0a5.jpg

7e62a4495a41f0ce74f91cb9035b69bf1de.jpg

这样就把密码更改好了,会提示有四行发生改变;

改好之后退出mysql,把配置文件的skip去掉,不去掉的话,任何人都能登录进去。

f3f8d86cc23e32a0c76a9461d2ea6f1ba5a.jpg

580ced4d2a1f8c4e32a76e6cd11a18319eb.jpg

在尝试一下:

9a4b1a22c53e8831bff17ff5f9427d1db25.jpg

只有输入正确的密码才能进入mysql。

13.2 连接mysql

f8d23ff21612fd9ddead048523f29a15d55.jpg

上面的命令,-h指定远程mysql数据库的ip地址,-P(大写)指定端口,这就是远程连接本机。

还有一种方法就是使用sock:

f7c92cee20b8fbcff1d018d93076abab835.jpg

上面的方法只适合在本机连接。

我们也可以连接mysql进行一些操作,如下:

f8450ebacbd69f45fd9e012e708d34e319a.jpg

把所有的库都列出来。使用-e 一般适合用于shell脚本。

13.3 mysql常用命令

  •  查询当前库

cf1cb0b6eb7a4909808d7d2e91cb3ea1926.jpg

在mysql里面写法必须后面加上;分号。

  • 切换某个库

f38eab834813939a24cfb76ec9ae048456d.jpg

  • 查看库里的表:
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> 
  •  查看表里面的字段
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.00 sec)

  • 查看这个表示怎么创建的:
mysql> 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)

ERROR: 
No query specified

这个命令的大写G和\是竖排显示的意思:

  • 查看当前是哪个用户:

07b1b365239b8d64f2064d10331c091f9c0.jpg

  • 在mysql里面我们也可以按上下的方向键去查看我们写过的命令,这个命令历史是记录在mysql history

b63b97e3ba01cc4e7b1cb706221ee201ae6.jpg

我们也可以查看历史记录

[root@liuhongwei ~]# less .mysql_history



















_HiStOrY_V2_
use\040mysql;
select\040*\040from\040user;
use\040mysql;
select\040*\040from\040user;
select\040psaaword\040from\040user;
select\040psaaword\040from\040user\040;
mysql>\040select\040*\040from\040user;
+------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------.mysql_history...skipping...
_HiStOrY_V2_
use\040mysql;
select\040*\040from\040user;
use\040mysql;
select\040*\040from\040user;
select\040psaaword\040from\040user;
select\040psaaword\040from\040user\040;
mysql>\040select\040*\040from\040user;
+------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-----------------------+------------------+
6\040rows\040in\040set\040(0.00\040sec)
quit
;
use\040mysql;
select\040*\040from\040user;
;
show\040databases
;
show\040databases
;
show\040databases;
:
  • 查看当前所使用的数据库:

c3a065b28a3e3c72b57870a199fb4979d33.jpg

null表示是空的。但是我们可以切换到mysql用户下,在去看使用的数据库

65f0228327d29acbd710fad88184e856f9b.jpg

我们看到它使用的是mysql的数据库

  • 创建库

ca7e1f4c98f406ec1b4b956465f55f718ac.jpg

创建好后,我们看一下有那些库,可以发现多了一个db1的库

436ac06e0df8a16bcf939b8ef406c6fdec8.jpg

  • 创建表

首先我们要切换到db1里面去:

00a22b7a7f98b203fcaf1045ee497fc7b46.jpg

a33c8f8d1483afbdadbffd2202b1d119831.jpg

我们看一下刚刚创建语法的字段

3f045c00f07aed7b0a01ef939a4393f8abc.jpg

默认的字符集是latin1,我们可以更换utf8,首先需要我们先去drop掉刚才创建的表

095e8b9690e9987f29352baa7297f5843fe.jpg

然后在创建的时候,加上参数就行了。

a82a9e6feeac0364d614c556292cb3e9c2d.jpg

再来重新show一下,可以看到字符集变成了utf8

4b91628b0855da691727651ad7ecd1bcb8b.jpg

  • 查看当前数据库版本

93492ea867520496dddeaab7ef947420852.jpg

  • 查看数据库状态

669e0a2223a9274a8aef7678fc164c3c737.jpg

  • 查看各参数

32f0897e1e770f1178a482cf516904c867f.jpg

9acec3da97ffb368e62beb869e4183ef7c0.jpg

6cb7976146a5b4cddf85c43d0e64bf3c021.jpg

上面二个例子中,使用了%表示通配的意思;

我们也可以修改参数;

7308cb763cebf2cfd6fa403010ef84bf4a3.jpg

如果我们想要它重启之后还是1000,需要修改配置文件了。/etc/my.cnf 然后重启就能生效了

  • 查看队列

4f6d39bc2da3bfeca5e4b19a4864940bac1.jpg

我们使用这个命令看后面的显示不完整。使用full 显示完整。

d6626f1c9ca4863002232fe6e6a26c5cf75.jpg

13.4 mysql用户管理

  • 创建用户并授权

c0978c3a7d34c35d77267f068dcc380416f.jpg

其中,a11表示所有的权限(如读、写、查询、删除等操作);  . 有两个*,前者表示所有的数据库,后者表示所有的表; identified by后面跟密码,用单引号括起来,这里的user1特指localhost的user1,只有这个ip才能登陆user1;@后面也可以用%代替,表示所有的主机。grant命令是不会记录到命令历史里面去的,因为不安全。

  • 我们实验一下看看能不能登录user1

66fcfee3fe1d28a62b7055a44ed6c5d9452.jpg

提示错误,不能登录,因为我们用的默认sock,所以使用指定-h ip实验一下:

e55f7e4a078adc4b1fb0b9269318b03c4e4.jpg

这样就能登录了user1;因为我们授权的就是127.0.0.1.

那我们授权给localhost,本地去登录,操作如下:

e906ef480b6d2b0c17559663c987b3c2d02.jpg

只需要把127.0.0.1改为localhost,即可。再来测试

768e4fa17a0e4d5a62d7479be85edc82198.jpg

我们也可以使用这一种方法去授权

grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd';

grant all on db1.* to 'user3'@'%' identified by 'passwd';
  • 查看所有授权

c3038d75b116d488dfa3275820452be1b2f.jpg

还有一种方法

show grants for user2@192.168.133.1;

26b49b89a3fc6fafebd6a445f03d2103f72.jpg

 13.5 常用sql语句

  • 查询语句

mysql.user表示mysql库的user表,count(*)表示共有多少行。

dcacf56515ff62453c177264ab7320238ad.jpg

也可以使用* 匹配

mysql> select * from mysql.db\G;
*************************** 1. row ***************************
                 Host: %
                   Db: test
                 User: 
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: N
         Execute_priv: N
           Event_priv: Y
         Trigger_priv: Y
*************************** 2. row ***************************
                 Host: %
                   Db: test\_%
                 User: 
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: N
         Execute_priv: N
           Event_priv: Y
         Trigger_priv: Y
2 rows in set (0.00 sec)

ERROR: 
No query specified

mysql> 

这是一个字段

ee0f325187f4061136c912f5119201cdabe.jpg

这是二个字段

8bb8aaa8b23cab7b233da7dc0ce2d3e8253.jpg

还有一种就是模糊匹配

select * from mysql.db where host like '192.168.%';

  • 插入一行

9cb11b15ae08fd3df8f6b1f149222606d58.jpg

对于上面的abc 数字是可以不加单引号的,字母必须加单引号的。

79687575ea7077ae7e993d6b23374441010.jpg

  • 删除表:

ad46284ecf8e2035940014fb5381156a3af.jpg

  • 清空表:

0524ca552b168498bbdeac43ab2ebba297b.jpg

truncate是清空表的内容,但是表结构还在

在看一下这个表有没有字段

5ae672ab76011ef833274536bdc68205595.jpg

drop就连表结构都给弄没了

9adfd450580d4499fe378c8b1dd634248b6.jpg

这二个操作最好少做。

13.6 mysql数据库备份恢复

 备份和恢复mysql数据库很重要

备份mysql要使用mysqldump命令,具体用法如下:

17fad3413a6e0f452917842bb243cacae6a.jpg

bacfa5c3628ac37c851d42f8632f864a9c5.jpg

执行上面一条命令,会看到输入很多东西。我们应该把它重定向到一个目录中去。

de3c783f140b961c8c350aa01d54a4a504d.jpg

  • 创建一个库

5a9fc00cce764ef13c1d2e3761cb32dcf9e.jpg

  • 恢复库

66115021f884fa66a5822d272ea78935e39.jpg

  • 备份表

e3bfd3d94d357b2d58dfdd38fb54bdc5d50.jpg

先指定库,再指定表的名字。

  • 恢复表

e10903a0dbdfb847eb2f09ac0f65b454764.jpg

恢复的时候使用mysql,只需要加上库名字就行,就能恢复。

  • 备份所有库

7fc4cf6ba05abbc23ed41eca6298d2aef92.jpg

使用A选项

  • 只备份表结构

9ac05c66e094d257804bb63b141ed0aa61a.jpg

 

转载于:https://my.oschina.net/u/3851487/blog/1844563

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值