千家信息网

MySQL的编译安装及基础操作流程

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,不知道大家之前对类似MySQL的编译安装及基础操作流程的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完MySQL的编译安装及基础操作流程你一定会有所收获的。一
千家信息网最后更新 2024年11月20日MySQL的编译安装及基础操作流程

不知道大家之前对类似MySQL的编译安装及基础操作流程的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完MySQL的编译安装及基础操作流程你一定会有所收获的。

一、mysql 5.7 安装

--------------------------安装mysql编译环境--------------------------------------

yum -y install \

ncurses \

ncurses-devel \

bison \

cmake

--------------------------安装mysql压缩包--------------------------------------

useradd -s /sbin/nologin mysql

tar zxvf mysql-5.7.17.tar.gz -C /opt/

tar zxvf boost_1_59_0.tar.gz -C /usr/local/

cd /usr/local/

mv boost_1_59_0 boost

--------------------------mysql编译安装--------------------------------------

cd mysql-5.7.17/

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DSYSCONFDIR=/etc \

-DSYSTEMD_PID_DIR=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DWITH_BOOST=/usr/local/boost \

-DWITH_SYSTEMD=1

------注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧------------

make && make install

chown -R mysql.mysql /usr/local/mysql/

---------------------------修改mysql配置文件--------------------------------

vi /etc/my.cnf

[client]

port = 3306

default-character-set=utf8

socket = /usr/local/mysql/mysql.sock

[mysql]

port = 3306

default-character-set=utf8

socket = /usr/local/mysql/mysql.sock

[mysqld]

user = mysql

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

character_set_server=utf8

pid-file = /usr/local/mysql/mysqld.pid

socket = /usr/local/mysql/mysql.sock

server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

----------------------------------------修改环境变量-----------------------

chown mysql:mysql /etc/my.cnf

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

echo 'export PATH' >> /etc/profile

source /etc/profile

------------------------------------数据初始化------------------------------------

cd /usr/local/mysql/

bin/mysqld \

--initialize-insecure \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

-----------------------------------------启动服务----------------------------------

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start mysqld

netstat -anpt | grep 3306

systemctl enable mysqld

mysqladmin -u root -p password "abc123" //给root账号设置密码为abc123提示输入的是原始密码。

mysql -u root -p

------------------------授权远程登录-------------------------------------

grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;


二、mysql数据库基本操作

--------------------------库----------------------------

//创建数据库 create database Myschool;

//查看数据库 show databases;

//删除数据库 drop database Myschool;

//进入数据库 use Myschool;

---------------------------表---------------------------

//创建表 create table info (id int not null primary key auto_increment,name char(10) not null, score decimal(5,2),hobby int(2));

//删除表 drop table info;

//查看表结构 desc info;

//查看Mycshool中的表 show tables;

//修改数据表名 alter table info rename to info7;

//多表查询 select * from info inner join hob where info.hobby=hob.id;

select info.name,ifo.score.hob.hobname from info inner join hob where info.hobby=hob.id;

//别名查询 select i.name,i.score.h.hobname from info i inner join hob h where i.hobby=h.id;

//查询生成新表 create table info2 select i.name,i.score.h.hobname from info i inner join hob h where i.hobby=h.id;

----------------------数据---------------------------

//查看info表中的数据 select * from info;

//插入数据 insert into info (id,name,score) values (5,'tianqi',80);

//筛选 条件 select * from info where id=6;

//修改更新信息 update info set score=75 where id=6;

//删除信息 delete from info where name='test';

//添加字段 alter table info add hobby int(2);

//修改列名 alter table info rename column score to score2;

//修改字段的数据类型 alter table info modify score decimal(4,1);

//排序(升序/降序)select * from info where 1=1 order by score; 默认升序

select * from info where 1=1 order by score asc; 升序

select * from info where 1=1 order by score desc; 降序

//分组 select * from info group by hobby

//聚合函数

统计 count() 例:select count(*) from info2;

平均值 avg() 例:select avg(score)from info2;


三、mysql索引与事务

索引创建方法:create index 索引名字 on 列的列表

例:create index id_index on info(id);

查询索引:show index from info; show index from info \G;

删除索引:drop index id_index on info;

创建唯一索引:create unique index id_index on info(id);

创建主键索引:alter table info add primary key(id);

添加字段: alter table info add column age int;

删除字段:alter table info drop column age;

创建全文索引:create table info(descript TEXT,FULLTEXT(descript)); engine=MyISAM

多列索引:create index multi_index on info(name,adress);


事务:一组操作共同执行或者都不执行,结果保持一致;

begin 开始 set autocommit=0 :禁止自动提交

commit 提交

rollback 回滚

savepoint s1; 定义回滚点

rollback to savepoint s1; 回滚到定义的回滚点

事务四个特性:

原子性,一致性,隔离性,持久性


视图 数据库中的虚拟表

作用: 一张表或者多表中的数据给不同的权限用户提供访问

create view score_view as select * from info where score > 80;


四、用户管理

创建

create user 'username'@'host' identified by 'passwd'

grant 权限 on 数据库.表 to 用户@主机 identified by 密码

查看

select user,authentication_string,host from user;

删除

drop user 'lisi'@'localhost';

重命名

rename user 'zhangsan'@'localhost' to 'test'@'192.168.218.130';

密码明文转化成密文

select password('abc123');

create user 'username'@'host' identified by password '*6691484EA6B50DDDE1926A220DA01FA9E575C18A';

更改用户密码

set password for 'test'@'192.168.218.130' = password('abc123');

忘记密码(5.7)

systemctl stop mysqld

vim /etc/my.cnf

[mysqld]

skip-grant-tables

systemctl start mysqld

mysql

update mysql.user set authentication_string = password('abc123') where user = 'root';

赋权

grant 权限 on 数据库.表 to 用户@主机 identified by 密码;

撤销权限

revoke 权限 on 数据库.表 from 用户@主机;

查看权限

show grants for 用户@主机;

日志管理

vim /etc/my.cnf

[mysqld]

log-error=/usr/local/mysql/data/mysql_error.log #错误日志

general_log=ON #通用日志

general_log_file=/usr/local/mysql/data/mysql_general.log

log_bin=mysql-bin #二进制日志(记录所有操作)

查看二进制文件

mysqlbinlog --no-defaults mysql-bin.00001

慢日志

slow_query_log=ON

slow_query_log_file=mysql-slow_query.log

long_query_time=1 #参照时间

看完MySQL的编译安装及基础操作流程这篇文章,大家觉得怎么样?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

数据 数据库 索引 密码 用户 权限 编译 日志 主机 字段 查询 基础 流程 事务 升序 文件 一致 二进制 信息 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东智能软件开发公司 软件开发服务属于工程项目吗 天津惠普服务器虚拟化安装服务器 乐铭网络技术 数据库课程设计报告题目 广州市曙雀互联网科技有限公司 分布式数据库的基本部件包括 网络安全关注的资产 创建一个流量软件服务器多少钱 本机未发现可用的数据库实体 微软数据库软件价格 兰州市网络安全进校园中学 骑士精神2服务器列表 数据库多表连接速度优化 网络技术课程论文 简单网络安全主题绘画 服务器系统论坛 mysql添加远程数据库 江苏箭牛网络技术有限公司简介 大连网络技术开发案例 云服务器安全运维实践 MES系统使用什么数据库 软件开发需求最重要 湖北省双合网络技术 河南云信海网络技术有限公司 南邮软件工程与数据库概论试卷 什么是网络安全其现状如何 网络安全知识绘画图 对大数据时代软件开发 网络安全 防范化解
0