基本命令
初学者…
准备一台 kali 2020虚拟机
##设置更新源
root@kali:~# vim /etc/apt/sources.list
root@kali:~# apt-get update
##安装数据库软件包
root@kali:~# apt-get -y install mariadb-server
1)在kali2020上启用mysql服务,并设置开机自启
在这里插入代码片
```apt-get -y install mariadb-server //如果已经安装的话,这一步可以不做
# systemctl start mariadb //启动服务
# systemctl restart mariadb //重启服务
# systemctl enable mariadb //设置开机自启
测试结果: 执行 mysql 命令能够登入到 MariaDB [(none)]> 环境(quit 或 按 Ctrl + c 退出)
2)完成初始安全设置,将管理密码设为1234
# mysql_secure_installation
Enter current password for root (enter for none): //提供原密码(默认没有)
OK, successfully used password, moving on...
Set root password? [Y/n] y //输入y表示要设置新密码
New password: //输入新密码1234
Re-enter new password: //重复一次新密码1234
Password updated successfully!
.. .. //后续操作直接Enter键即可
3)使用 mysql 验证无密码登录会被拒绝(kali环境有版本差异)
# mysql //测试无密码访问,会被拒绝 (更新后,数据库管理员允许无密码登陆!)
ERROR 1045 (28000): Access denied for user 'root'@'localhost’ .. ..
以下操作可以使root用户也需要密码(如果设置了的话)才能连数据库##
MariaDB [(none)]> update mysql.user set plugin='' where user='root'; //注意plugin=后面是两个单引号
root@kali:~# systemctl restart mariadb //重启数据库,使设置生效
root@kali:~# mysql //再次不用密码登录被拒绝
root@kali:~# mysql -uroot -ppwd@123 //root 需要密码才能登录数据库
4)使用 mysqladmin 更改管理密码,设置为 pwd@123
# mysqladmin -uroot -p1234 password 'pwd@123'
—— 测试数据库连接
# mysql -uroot -ppwd@123 //能成功登入 MariaDB ... > 界面
为数据库的root用户设完密码之后,在本机登录时,不提供密码也能登录
++原因: 为了方便数据库管理,MariaDB 10.0.22 开始默认启用authentication认证插件
++ 特点:当前系统用户如果是root,则无需密码就可以全权访问本机数据库;其他用户需要提供密码
++ 认证方式存储在user表的 plugin 列,如果清空可以恢复传统认证方式
# mysql
# mysql [-u用户名] [-p密码]
=====================================================
练习2:使用mysql命令连接数据库服务器
1)以管理用户root连接本机MariaDB数据库
2)列出有哪些库
3)退出MariaDB>交互界面,返回Linux命令行
比如:
# mysql -uroot -ppwd@123 //连接本机数据库
MariaDB [(none)]> show databases; //列出有哪些库
使用指定的库/选择库
MariaDB [(none)]> use mysql;
列出当前库里面有哪些表
MariaDB [mysql]> show tables;
创建数据库
MariaDB [mysql]> create database webdb;
删除数据库
MariaDB [mysql]> drop database webdb;
列出有哪些库
MariaDB [mysql]> show databases;
1. 列出MariaDB服务器上有哪些库
2. 选择mysql库,列出此库中有哪些表,找到 user 表
3. 创建2个库,名称分别为 studb、webdb,确认结果
4. 删除名为 webdb 的库,确认结果
SHOW databases; —— 列出有哪些库
USE mysql; —— 使用指定的库
SHOW TABLES; —— 列出当前库里有哪些表
CREATE database studb; —— 创建指定的新库
CREATE database webdb; —— 创建指定的新库
DROP database webdb; —— 丢弃指定的库
快捷键Ctrl + L 清屏
1,创建表
MariaDB [studb]> create table studb.hero(姓名 varchar(20),性别 char(1),手 机号 char(11))
2,查看列的信息
MariaDB [studb]> desc hero;
3,查看创建的表
MariaDB [studb]> show tables;
1)建表
MariaDB [studb]> CREATE TABLE studb.hero
2)检查结果
MariaDB [studb]> SHOW TABLES; //检查有哪些表,应该看到hero
MariaDB [studb]> DESC studb.hero; //检查表格如何定义的
3)添加新记录
MariaDB [(studb)]> INSERT INTO studb.hero VALUES(..., 'xx', 'x', 'xxx', 'xxx', 'xx');
MariaDB [(studb)]> SELECT * FROM studb.hero; //查看表格hero的所有内容
1)使用 select 检查 hero 表中的内容
MariaDB [(studb)]> SELECT * FROM studb.hero;
2)删除整个 hero 表
MariaDB [(studb)]> DROP table studb.hero;
3)再次使用 select 检查 hero 表中的内容
MariaDB [(studb)]> SELECT * FROM studb.hero;
创建新的表格及数据 ——
1)create table 表名(每个列的定义...);
2)insert into 表名 values(每个列的内容...);
====================================================
MariaDB [studb]> create table studb.xiake select * from studb.hero; //将hero表的结构和信息 复制到新表xiake里
MariaDB [studb]> show tables; //查看库里面的表
MariaDB [studb]> create table studb.dbusers select * from mysql.user;
MariaDB [studb]> show tables;
MariaDB [studb]> select * from dbusers;