mysql的安装及增删改查常用命令

mysql数据库

一、mysql概述

1、MySQL是开源的关系型数据库服务器软件,MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
*目前由Oracle公司开发和维护
*官方站点:http://ww.mysql.com

2、mysql的特点
*多线程、多用户
*基于C/S(客户端/服务器)架构
*简单易用、查询速度快
*安全可靠

centos编译安装mysql

(1)、Mysql的下载链接:https://downloads.mysql.com/archives/community/
在这里插入图片描述
在这里插入图片描述

(2)、给mysql添加mysql用户以及用户组
groupadd mysql && useradd -r -g mysql mysql
在这里插入图片描述

(3)、数据库的数据存储data目录创建并赋予权限mysql
mkdir /data/mysql -p
chown -R mysql:mysql /data/mysql
在这里插入图片描述

(4)、修改mysql的配置文件
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
在这里插入图片描述

(4)、解压mysql的tar包,并将包移动到/usr/local/mysql,并初始化
tar xf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz #解压
在这里插入图片描述

mv mysql-8.0.32-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql/bin/
在这里插入图片描述

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
在这里插入图片描述

(5)、数据库快捷命令创建,并启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql #添加mysql系统服务
chkconfig -add mysql #添加系统服务
systemctl start mysql #启动mysql
在这里插入图片描述

ln -s /usr/local/mysql/bin/mysql /usr/bin/ #创建mysql命令的软连接
cat /data/mysql/mysql.err #查看mysql的root密码
在这里插入图片描述

查看mysql的运行状态
Ps -ef |grep mysql
Netstat -natp |grep 3306
在这里插入图片描述

(6)、登录mysql
Mysql -uroot -p 登录mysql
WduaE>:kL1P)
在这里插入图片描述

三、mysql的基础命令

1、连接并登录到MySQL操作环境
mysql -u 用户名 [-p密码]
在这里插入图片描述

Mysql命令参数:
-V #查看数据库版本
-h #指定登录数据库ip地址
-P #指定数据库端口(默认是3306)
-u #指定登录用户

2、mysql的备份命令mysqldump
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/ #创建mysqldump的命令软连接
mysqldump -u[用户] -p[密码] [需要备份的库] > /备份到什么下 #mysqldump命令格式
mysqldump -uroot -p mysql > /home/mysql_bak_2023_0502.sql #库名
在这里插入图片描述

Mysqldump命令参数:
-u #指定用户
-p #输入密码

实例:
备份库的话可以单独创建一个用户
举例我需要备份test库
步骤如下:
(1)、创建一个back用户
create user back@‘%’ identified by ‘123456’;
在这里插入图片描述

(2)、赋予备份test库的权限
grant process on . to back@‘%’;
grant process on test.* to back@‘%’;
在这里插入图片描述

show grants for back@‘%’;
在这里插入图片描述

(3)、备份test库
mysqldump -uback -p test > /home/666.sql
输入密码:123456
在这里插入图片描述

3、修改用户密码命令mysqladmin
mysqladmin -u username -p password “newpwd” #命令格式
mysqladmin -u root -p password “123456”
在这里插入图片描述

Mysqladmin命令参数:
-u #指定用户
Password #指定新密码

4、数据库的基本管理命令

(一)、查看数据库结构

(1)、查看数据库
SHOW DATABASES
在这里插入图片描述

(2)、查看数据库中的数据表信息
USE 数据库名 #切换到数据库中
SHOW TABLES #查看数据库的表
在这里插入图片描述

(3)、显示数据表的结构(字段)
DESCRIBE [数据库名.]表名
在这里插入图片描述

(二)、数据库的创建和删除

(1)、创建新的数据库
create database 数据库名
在这里插入图片描述

(2)、在test的库中创建表
Use test
CREATE TABLE 表名 (字段定义……)
create table users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT ‘’, PRIMARY KEY (user_name));
在这里插入图片描述

(3)、删除表
DROP TABLE 库名.表名
drop tables test.users;
在这里插入图片描述

(4)、删除数据库
DROP DATABASE auth;
drop database test;
在这里插入图片描述

(三)、插入、查询数据记录

(1)、向数据表中插入新的数据记录
先创建库和表
create database test; #创建test库
use test; #切换到test库
create table users(user_name CHAR(16)NOT NULL, user_passwd CHAR(48)DEFAULT ‘’, PRIMARY KEY (user_name)); # 创建users表
在这里插入图片描述

INSERT INTO 表名(字段1, 字段2, ……) VALUES(字段1的值, 字段2的值, ……)
insert into users(user_name,user_passwd) values(‘zhangsan’,‘123456’);
insert into users(user_name,user_passwd) values(‘yzq’,‘123456’);
insert into users(user_name,user_passwd) values(‘wangwu’,‘123456’)
在这里插入图片描述

(2)、从数据表中查找符合条件的数据记录
SELECT 字段名1,字段名2 …… FROM 表名 WHERE 条件表达式
select * from users; #查询users表里所有信息
在这里插入图片描述

Select user_name,user_passwd from users where user_name=”lisi”\G; #where条件查询,查询user_name = lisi的
在这里插入图片描述

Select user_name,user_passwd from users where user_passwd = ‘123456’ and user_name = ‘yzq’; #多条件查询,查询user_name =yzq 和user_passwd= 123456的
在这里插入图片描述

(四)、修改数据记录

(1)、修改、更新数据表中的数据记录
UPDATE 表名 SET 字段名1=值1[,字段名2=值2] WHERE 条件表达式
UPDATE auth.users SET user_passwd=PASSWORD(‘666666’) WHERE user_name=‘lisi’; #修改users的lisi的user_passwd=666666
在这里插入图片描述

(2)、删除users表中wangwu的信息
DELETE FROM 表名 WHERE 条件表达式
delete from test.users where user_name = ‘wangwu’;
在这里插入图片描述

5、mysql数据库的优化

(1)、修改root密码
方法一:在数据库中修改root用户的密码
alter user ‘root’@‘localhost’ identified by ‘666666’
flush privileges; #刷新权限表
在这里插入图片描述

方法二、
在数据库外输入:
mysqladmin -u root -p password “123456”
输入旧密码即可
在这里插入图片描述

(2)、为了安全考虑,删除用户名、密码均为空的空用户
select user,host,password from mysql.user where user=‘’; #查询密码为空的用户
delete from mysql.user where user=‘’; #删除密码为空的用户

6、mysql数据库的维护数据库及用户权限命令

grant --授权
revoke --撤权
identified by 设置密码
(1)、设置用户权限(用户不存在时,则新建用户)8.0版本的数据用法不一样
格式:GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY ‘密码’ ]

格式说明名称 参数及说明
权限列表 Select(查),insert(插入),update(改),all(所有权限) 逗号隔开 all–所有权限
来源地址 %(匹配所有) 可以为域名、ip地址等
密码选项 省略则为–用户密码为空

以8.0以后的mysql版本举例子
需要先创建用户:
create user test@‘%’ identified by ‘123456’;
grant all privileges on test.* to test@‘%’;
在这里插入图片描述

(2)、查看用户权限
SHOW GRANTS FOR 用户名@来源地址;
show grants for test@‘%’;
在这里插入图片描述

(3)、撤销用户权限
revoke 权限列表 ON 数据库名.表名 from 用户名@来源地址
revoke all on test.* from test@‘%’;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_57207884/article/details/130465728