Linux-数据库服务器安装
安装
yum -y install mariadb*
// 安装mariadb开头的所有
systemctl { start | stop | status | restart } mariadb
systemctl { enable | disable } mariadb
初始化
mysql_secure_installation
输入当前root密码,直接回车
set root password y
remove anonymous users y // 删除匿名用户
disallow root login remotely y // 不允许root远程登陆 是的
remove test database and access to it y // 删除test的数据库 都可以
reload privilege table y // 重新加载权限表
登陆并使用
mysql -u root -p
输入密码
查看数据库: show databases ;
创建数据库: create database [数据库名];
使用数据库: use [数据库名];
删除数据库: drap database [数据库名];
查看表: show tables;
创建: create tables [表名] (字段1 约束,字段2 约束);
复制: creata tables [表名] like [要复制的表名];
删除: drap tables [表名]
修改: olter tables [表名] [add 添加字段/drap 删除字段/ change 修改];
查看表结构: describe [表名]
数据库对象操作:
DDL数据定义语言[创建:create/修改:alter/删除:drap]
DML数据操纵语言[添加:insert/修改:updata/删除:delete/查看:select]
添加: insert into [表名](字段1,字段2) values (' ',' ',' ')
删除: delete from [表名] where [条件]
查看: select * from [表名] where [条件]
更新: update [表名] set [字段]=['值'] where [条件]
用户管理
创建用户
CREATE USER [用户名] IDENTIFIED BY '[密码]';
修改密码
SET PASSWORD FOR [用户名]=PASSWORD('[密码]');
删除用户
drop user [用户名] ;
查看用户
select user,host from mysql.user;
// 在mysql数据库中可以不加mysql
授权
grant命令的格式:
grant 权限级别 [(字段名)] on 数据库名.表名 to 用户名@域名或IP地址 [ identified by '[密码]'] [with grant option];
例如:MariaDB [none]>grant all privileges on [数据库].[表名] to user1@'localhost' indentified by '1234' with grant option;
说明:
all privileges:
// 表示所有权限,也可以使用select、update等具体权限。
on:
// 用来指定权限针对的数据库和表。
[数据库].[表名]:
// 如果使用*表示所有。
to:
// 表示将权限赋予某个用户。
user1@'localhost':
// 表示user1用户,@后面接限制的主机,可以是IP、IP段、域名、以及%,%表示任何地方(远程登录)。(用户不存在则创建用户)
identified by:
// 指定用户的登录密码。
with grant option:
// 表示该用户可以将自己拥有的权限授权给别人。
刷新权限
使用flush命令可以使权限生效,尤其是当权限表做了update或者delete更新等操作时。
MariaDB [none]>flush privileges;
查看权限
1.查看当前用户权限
MariaDB [none]>show grants;
2.查看user1用户权限
MariaDB [none]>show grants for 'user1'@'localhost';
撤销权限
revoke命令的格式:
revoke权限级别 [(字段名)] on 数据库名.表名 from 用户名@域名或IP地址;
例如:收回user1的本地删除权限
MariaDB [none]>revoke delete on [数据库].[表名] from user1@'localhost' ;
数据库的备份与恢复
1.备份
// 在数据库管理的实际工作中,数据库的定期备份是一件至关重要的事情。通常管理员以批处理的方式进行数据库的自动备份,这样一旦数据库发生故障或者误操作时,可以进行数据库的恢复来保证服务器的正常运行。
// mysqldump命令可以用于数据库的备份。
mysqldump命令格式:
mysqldump [备份数据库] --user=用户名 --password=密码>备份的文件名
例如:备份数据库student,备份文件db01.sql
\#mysqldump student --user=root --password=1234>db01.sql
// 备份地址可以写路径,直接写名字会放在当前执行命令的地方
2.恢复
mysql -u 用户名 -p 数据库名 < 备份文件
注意:恢复数据库之前,首先确保此数据库存在,然后再恢复。
拓展:
如果出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
编辑/etc/my.cnf,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程。重新设置mysql_secure_installation 。
1.开启MySQL的InnoDB引擎,要不然当你使用“alter table 表名 type=InnoDB”时会提示错误。
修改MySQL的配置文件my.ini:
#default-storage-engine=INNODB ----去掉前面的“#”
skip-innodb -----注释掉这句话,在前面加“#”
2.修改表的type属性,如果你的表不是InnoDB引擎的话。
alert table 表名 type=InnoDB
3.如果外键还是没起作用,请开启外键检测。
set foreign_key_checks=1;
常用字段类型
类型 | 描述 |
INT | 整型,4个字节 |
FLOAT | 浮点型,4个字节 |
DOUBLE | 双精度浮点型,8个字节 |
DATE | 日期型,3个字节 |
CHAR(M) | 字符型,M个字节,0<=M<=255 不可变 |
VARCHAR(M) | 字符串型,L+1个字节,其中L<=M且0<=M<=65535 可变 |
BLOB | 可变二进制型,L+2个字节,其中L<216 |
TEXT | 最大长度为65535个字符的字符串 |
字段约束用来进一步对某个字段所允许输入的数据进行约束,如表所示为常用的字段约束。
约束 | 描述 |
Null(或Not Null) | 允许字段为空(或不允许字段为空),默认为Null |
Default | 指定字段的默认值 |
Auto_Increment | 设置Int型字段能够自动生成递增1的整数 |
表级约束用于指定表的主键、外键、索引和唯一约束,如表所示。
约束 | 描述 |
PRIMARY KEY | 为表指定主键 |
FOREIGN KEY…REFERENCES | 为表指定外键 |
INDEX | 创建索引 |
UNIQUE | 为某个字段建立索引,该字段的值必须唯一 |
FULLTEXT | 为某个字段建立全文索引 |
阅读剩余
版权声明:
作者:ZYX
链接:https://zyxweb.cn/linux-%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%ae%89%e8%a3%85/
文章版权归作者所有,未经允许请勿转载。
THE END