MySQL是一个关系型数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性
一 安装mysql
- 寻找与mariadb有关的软件包
yum search mariadb
- 安装mariadb的server软件和client软件
yum install mariadb mariadb-server -y
- 启动mariadb服务
systemctl start mariadb
systemctl enable mariadb
- mariadb监听的端口
netstat -antlpe | grep mysql
ss -antlpe | grep mysql
vim /etc/services #所有服务与端口默认的对应关系
- 只允许本地连接,阻断所有来自网络的连接
vim /etc/my.cnf
写入:skip-networking=1
并且重启服务:systemctl restart mariadb
- 设置mysql的登陆密码
mysql_secure_installation
mysql -uroot -p(自己的密码)
二 数据库基本操作
1.登陆数据库
mysql -uroot -p(密码)
2.显示所有的数据库
注意:所有mysql数据库要加分号;
show databases;
3.进入名称为mysql的数据库
use mysql;
4.显示该数据库中的表
show tables;
5.显示表的结构
desc user;
6.显示user表中的内容
select * from user; #显示表中所有内容
select User,Password from user; #显示表中指定内容
7.数据库创建与删除
create database siri;
drop database siri;
8.表的相关操作
#创建表
create table student(
name varchar(20) not null,
number varchar(3));
#插入表
alter table student add age varchar(3);
#删除表
drop table student;
9.数据的插入与修改
insert into student values ('user1','123'); #向表中插入内容
insert into student(passwd,username) values("456","user2"); #按照指定顺序向表中插入数据
update student set passwd='456' where username="user1"; #更新表中的内容
alter table student add sex varchar(3); #添加sex列到student表中
delete from student where username="user1"; #删除表中用户名为user1的记录
三 用户和访问权限的操作
创建用户hello,可在本机登陆,密码为hello
create user hello@localhost identified by 'hello';
创建用户hello,可在远程登陆,密码为hello
create user hello@'%' identified by 'hello';
创建一数据库mariadb,对普通用户进行
create database mariadb;
给hello@localhost用户授权,如果为all,授权所有权限
一般有这些权限:insert,update,delete,select,create
grant all on mariadb.* to hello@localhost;
刷新,重载授权表
flush privileges;
查看用户授权
show grants for hello@localhost;
删除指定用户授权
revoke delete,update on mariadb.* from hello@localhost;
删除用户
drop user hello@localhost;
四 忘记mysql用户密码时,怎么找回?
- 关闭mariadb服务
systemctl stop mariadb
- 跳过授权表
mysqld_safe --skip-grant-table &
- 修改root密码
mysql
> update mysql.user set Password=password('westos') where User='root';
- 关闭跳过授权表的进程,启动mariadb服务,使用新密码即可
ps aux | grep mysql
kill -9 pid
mysql -uroot -p
五 mysql的备份与恢复
备份:
mysqldump -uroot -p mariadb >mariadb.dump
mysqldump -uroot -pwestos --no-data mariadb > `date +%Y_%m_%d'_mariadb.dump
mysqldump -uroot -pwestos --all-databases >mariadb4.dump
恢复:
mysqladmin -uroot -pwestos create mariadb2
mysql -uroot -pwestos mariadb2< mariadb.dump
注意:
mariadb中文编码问题
当使用mysql数据库时,会使用中文存储一些数据,但是默认情况下存储的中文是 ???
1) 数据库编码格式的查看
首先登陆到数据库里面:mysql -uroot -predhat
查看mysql的编码格式:show variables like 'character_set_%';
临时修改和永久修改都会在重启mariadb服务后失效
最简单粗暴的方法:
直接设置character_set_database编码格式为utf8
set character_set_database = 'utf8';