您现在的位置是:主页 > news > 专门做折扣的网站有哪些/优化大师 win10下载

专门做折扣的网站有哪些/优化大师 win10下载

admin2025/5/1 3:08:24news

简介专门做折扣的网站有哪些,优化大师 win10下载,wordpress 文章代码,北京网站建设开发专业公司目录1、Mysql数据库安装详细步骤1.1、安装依赖包1.2、配置数据库1.3、make编译和安装1.4、编译配置文件1.5、初始化1.6、初始化密码2、SQL语句概述2.1、SQL分类2.11、DDL (Data Definition Language, 数据定义语言)2.12、DML (Data Manipulation Language&#xff0…

专门做折扣的网站有哪些,优化大师 win10下载,wordpress 文章代码,北京网站建设开发专业公司目录1、Mysql数据库安装详细步骤1.1、安装依赖包1.2、配置数据库1.3、make编译和安装1.4、编译配置文件1.5、初始化1.6、初始化密码2、SQL语句概述2.1、SQL分类2.11、DDL (Data Definition Language, 数据定义语言)2.12、DML (Data Manipulation Language&#xff0…

目录

  • 1、Mysql数据库安装详细步骤
    • 1.1、安装依赖包
    • 1.2、配置数据库
    • 1.3、make编译和安装
    • 1.4、编译配置文件
    • 1.5、初始化
    • 1.6、初始化密码
  • 2、SQL语句概述
    • 2.1、SQL分类
      • 2.11、DDL (Data Definition Language, 数据定义语言)
      • 2.12、DML (Data Manipulation Language, 数据操纵语言)
      • 2.13、DQL(Data Query Language, 数据查询语言)
      • 2.14、DCL(Data Control Language, 数据控制语言)
  • 3、查看数据库结构
  • 4、修改默认存储引擎

1、Mysql数据库安装详细步骤

1.1、安装依赖包

[root@client ~]# tar zxvf mysql-boost-5.7.20.tar.gz     #解压缩软件包
[root@client ~]# yum -y install ncurses ncurses-devel bison cmake    #安装依赖包
[root@client ~]# useradd -s /sbin/nologin mysql    #建立不可登录用户mysql----------------------------------解析-------------------------------------
依赖包:
ncurses ncurses-devel:ncurses是字符终端下屏幕控制的基本库
bison:用于自动生成语法分析器程序,实际上可用于所有常见的操作系统。Bison把LALR形式的上下文无关文法描述转换为可做语法分析的CC++程序。
cmake:CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。

1.2、配置数据库

[root@client~]# cd mysql-5.7.20/    #进入数据库
[root@client mysql-5.7.20]#
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=boost \
-DWITH_SYSTEMD=1----------------------------------解析-------------------------------------
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \      #安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \      #指定套接字文件的存储路径,客户端访问mysql的接口,缺少文件无法被访问
-DSYSCONFDIR=/etc \       #配置my.cnf的目录,路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \    #主服务进程所在路径
-DDEFAULT_CHARSET=utf8 \     #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \   #默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \   #启用InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \     #启用ARCHIVE引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \    #启用BLACKHOLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \    #启用perfschema引擎
存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、
查询数据等技术的实现方法。 
-DMYSQL_DATADIR=/usr/local/mysql/data \     #数据存储路径,数据库
-DWITH_BOOST=boost \     #boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_SYSTEMD=1    #-DWITH_SYSTEMD=1这是MySQL 5.7原生支持Systemd的选项,如果要是用systemct1启动,就必须开启。

1.3、make编译和安装

[ rootclient mysql-5.7.20]# make && make install   #编译并安装,时间很长

1.4、编译配置文件

[ rootclient mysql-5.7.20]# cd
[ root@client ~]# chown -R mysql:mysql /usr/local/mysql/     #添加服务属主,属组
[root@client ~]# 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      #服务器设定默认字符
socket = /usr/local/mysql/mysql.sock     #运行时进程文件
pid-file = /usr/local/mysql/mysql.pid     #套接字路径
server-id = 1      #每个数据库的id必须不一样
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----------------------------------解析-------------------------------------
NO ENGINE SUBSTITUTION:在开启该MODE的情况下,在创建表时,如果指定的存储引擎不存在或不支持,则会直接提示“ERROR”。
STRICT_TRANS_TABLES:严格模式,进行数据的严格校验,错误数据不能插入,报error错误。
NO_AUTO_CREATE_USER:MODE禁止的只是不带“identified by”子句的grant语句,对于带有“identified by”子句的grant语句,其并不会禁止。
NO AUTO_VALUE_ON_ZERO:该值影响自增长列的插入。默认情况下,在对自增主键插入NLL0时,会自动生成下一个值。若开启该MODE,当插入0时,并不会自动生成下一个值。
NO_ZERO_IN_ DATE:NO_ZERO_IN_DATE针对的是年不为0NO_ZERO_DATE:MODE会影响’000o-00-00’的插入。实际效果还取决于是否开启严格模式。在开启严格模式,且同时开启该MODE,是不允许’0000-00-00’插入的。
ERROR_FOR_DIVISION_BY_ZERO:INSERTUPDATE过程中,如果数据被零除则产生错误而非警告。如果未给出该模式,那么数据被零除时MySQL返回NULLPIPES AS CONCAT:"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似。
ANSI_QUOTES:启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符。
https: //www.cnblogs.com/ liang545621/p/12606231.html[root@client ~]# chown mysql:mysql /etc/my.cnf
[root@client ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile    #复制环境变量到开机启动
[root@client ~]# echo 'export PATH' >> /etc/profile    #设置全局变量
[root@client ~]# tail -5 /etc/profile    #检查[root@client ~]# source /etc/profile    #立即执行变量
[root@client ~]# echo $PATH      #检查环境变量

1.5、初始化

[root@client ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data       #初始化
[root@client ~]# cd /usr/local/mysql/
[root@client mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system  #拷贝mysqld.service文件
[root@client mysql]# systemctl daemon-reload    #守护进程重新加载
[root@client mysql]# systemctl start mysqld      #开启服务
[ root@client mysql]# cd
[root@client ~]# netstat -anpt | grep 3306     #检查端口3306有没有开[root@client ~]# systemctl enable mysqld      #自启动

1.6、初始化密码

[root@client ~]# mysql     #登录
mysql> set password for root@localhost = password('123456');      #设密码
mysql> exit    #退出
[root@client ~]# mysql -uroot -p123456    带密码登陆 
mysql>     #成功登陆

2、SQL语句概述

■ SQL语言
● Structured Query Language的缩写,即结构化查询语言
● 关系型数据库的标准语言
● 用于维护管理数据库
◆ 包括数据查询、数据更新、访问控制、对象管理等功能

2.1、SQL分类

■ DDL (Data Definition Language, 数据定义语言) :
用来建立数据库、数据库对象和定义字段,如CREATE、ALTER、DROP

■ DML (Data Manipulation Language, 数据操纵语言) :
用来插入、删除和修改数据库中的数据,如INSERT、UPDATE、DELETE

■ DQL (Data Query Language, 数据查询语言) :
用来查询数据库中的数据,如SELECT

■ DCL (Data Control Language, 数据控制语言) :
用来控制数据库组件的存取许可、存取权限等,如COMMIT、ROLLBACK、 GRANT、 REVOKE

2.11、DDL (Data Definition Language, 数据定义语言)

■ 创建新的数据库

mysql >CREATE DATABASE auth;
例:mysql> create database ab;
Query OK, 1 row affected (0.00 sec)

在这里插入图片描述

■ 创建新的表

CREATE  TABLE 表名 (字段 1 名称类型,字段 2 名称类型,...PRIMARY KEY (主键名) )      #主键:要求字段里的每个值都是唯一的,意义是快速查找实体的标签
例1:mysql> use ab;
Database changed
mysql> create table users(user_name char(64) not null primary key, user_passwd varchar(64) default '');
Query OK, 0 rows affected (0.01 sec)

在这里插入图片描述
在这里插入图片描述

2:mysql> create table cj(id int(10) auto_increment primary key, age int(3) not null, name varchar(128) not null, score decimal(5));
Query OK, 0 rows affected (0.01 sec)

在这里插入图片描述

■ 修改表结构

mysql> alter table cj add column addr int(3);    #新增一个为地址的列
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

在这里插入图片描述

■ 删除一个数据表

mysql>DROP TABLE auth. users;
例:mysql> drop table ab.users;     
Query OK, 0 rows affected (0.00 sec)

在这里插入图片描述

■ 删除一个数据库

mysql>DROP DATABASE  auth;
例:mysql> drop database ab;
Query OK, 1 row affected (0.01 sec)
mysql> desc ab;
ERROR 1046 (3D000): No database selected

在这里插入图片描述

■ 克隆表

方法一:例:mysql> create table cj2 like cj1;
Query OK, 0 rows affected (0.01 sec)

在这里插入图片描述在这里插入图片描述

方法二:mysql> show create table cj1\G
例:
mysql> show create table cj1\G

在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.12、DML (Data Manipulation Language, 数据操纵语言)

■ 插入数据记录

INSERT INTO 表名 (字段 1,字段 2, ..VALUES(字段1的值,字段2的值,...)
mysql>use auth;
mysql> INSERT INTO users (user_name, user_passwd)  VALUES(' zhangsan'PASSWORD (' 123456' ));或mysql>INSERT INTO users VALUES('lisi'PASSWORD(' 654321' )) ;
例:
方法一 
mysql> insert into users(user_name,user_passwd) values('lisi','123456');
Query OK, 1 row affected (0.01 sec)
方法二
mysql> insert into users values('lilei',PASSWORD('123123'));
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> select * from users;

在这里插入图片描述

■ 插入多个数据记录

mysql> insert into cj1(age,name,score,addr) values(17,'zhangsan',60,101),(19,'lilei',75,102),(18,'wanghao',86,103),(17,'zhaozhao',99,104),(18,'liuli',50,105);
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

在这里插入图片描述在这里插入图片描述

■ 修改数据记录

UPDATE 表名 SET 字段名 1=字段值 1[,字段名 2=字段值 2] WHERE 条件表达式
mysql>UPDATE auth. users SET user_passwd=PASSWORD('') WHERE user_name='lisi' ;
mysql>SELECT * FROM auth. users;
例:mysql> update cj1 set age=18 where name='zhangsan';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

# 必须跟条件where,不然会全部被修改

在这里插入图片描述

■ 修改数据库密码

mysql>UPDATE mysql. user SET authentication_string=PASSWORD('123457')  WHERE user=’root’;
[ root@www~] # mysqladmin -u root -p '123457'  password  '123456'

■ 重设密码方法

mysql>use mysql      /*进入mysql用户*/
mysql>update user set authentication_string=password( 'newpass' )
where user='root' ;      //5.7
mysql> update mysql. user set password=PASSWORD('新密码') where  User='root';      //5.6
mysql>flush privileges;
● 方法二:
mysqladmin -u root password 'newpass'
● 方法三:
mysql> SET PASSWORD = PASSWORD('newpass');     //root 用户
mysql> SET PASSWORD FOR   用户 = PASSWORD( ‘newpass') ;

■ 忘记密码:

vi /etc/my. cnf
[mysqld]
末尾添加
skip_name_resolve
skip_grant_tables
bind-address=0.0.0.0
systemctl restart mysqld

■ 删除数据库记录

DELETE FROM表名WHERE条件表达式
方法一:mysql>DELETE  FROM auth. users WHERE user_name='lisi' ;
mysql>SELECT * FROM auth. users;
例:mysql> delete from cj1 where name='zhangsan';
Query OK, 1 row affected (0.00 sec)

在这里插入图片描述

方法二:mysql> truncate table tmp;         #两者的新值初始ID不同

2.13、DQL(Data Query Language, 数据查询语言)

■ 查询数据记录

SELECT  字段名 1, 字段名 2,.. FROM 表名 WHERE  条件表达式
mysql>select * from auth. users;
mysql>SELECT user_name, user_passwd  FROM auth. users WHERE user_name=' zhangsan'
例:
mysql> select name from cj1;                #查询表中的一个字段
mysql> select name,age from cj1;         #查询表中的两个字段

在这里插入图片描述

2.14、DCL(Data Control Language, 数据控制语言)

■ 授予权限

GRANT权限列表 ON 数据库名.表名T0 用户名@来源地址[ IDENTIFIED BY ’密码’ ]
mysql>GRANT select ON auth. * T0’ xiaoqi '@' localhost' IDENTIFIED BY '123456' ;
[root@www~] # mysql -u xiaoqi -p
mysql>SELECT * FROM auth. users; //验证授权的访问操作;
mysql>SELECT * FROM mysql. user; //验证非授权的访问操作
mysql>CREATE  DATABASE bdqn;
mysql>GRANT all privileges ON bdqn. * T0 'dbuser' @  '192. 168.4. 19' IDENTIFIED BY 'pwd@123' ;
例:授予用户wanghao本地查看所有库所有表权限
mysql> grant select on *.* to 'wanghao'@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

在这里插入图片描述

mysql> flush privileges;   #刷新权限,授予权限后一般要刷新

■ 查看权限

SHOW GRANTS FOR用户名@来源地址
mysql>SHOW GRANTS FOR 'dbuser' @ '192. 168.4. 19' ;
例:
mysql> exit
[root@mysql1 ~]# mysql -uwanghao -p123456
mysql> show grants for 'root'@'localhost';

在这里插入图片描述

mysql> delete from aa.cj1;     #删除aa库下面的cj1表

在这里插入图片描述

■ 撤销权限

REVOKE  权限列表 ON 数据库名.表名 FROM 用户名@来源地址
mysql>REVOKE all privileges ON auth. * FROM  'xiaoqi' @  'localhost' ;
mysql>SH0W GRANTS FOR  'xiaoqi' @ 'localhost' ;   //确认已撤销对auth库的权限
例:撤销wanghao的查看权限
mysql> revoke select on *.* from 'wanghao'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql>  flush privileges;                     #刷新权限
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for 'wanghao'@'localhost'; #查看wanghao的本地权限

在这里插入图片描述

3、查看数据库结构

■ char与varchar区别
char的长度是不可变的,而varchar的长度是可变的
● 字段b:类型char(10),值为: abc,存储为: abc (abc+7个空格)
● 字段d:类型varchar(10),值为: abc,存储为: abc(自动变为3个的长度)

超出长度自动截取
● 字段c:类型char(3), 值为: abcdefg,存储为: abc (defg自动删除)
● 字段e:类型varchar(3),值为: abcdefg,存储为: abc (defg自动删除)

varchar(10)和char(10),都表示可存10个字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放10个

char最多可以存放255个字符,varchar的最大长度为65535个字节,varchar可存放的字符数跟编码有关
● 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766个字符
● 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845个字符

注:
● 一个汉字占多少长度与编码有关;
● UTF-8:一个汉字=3个字节
● GBK:一个汉字=2个字节

4、修改默认存储引擎

4.1、查看存储引擎
mysql> show engines;

4.2、 修改默认存储引擎
● mysql> alter table user_info engine=MyISAM;
● vim my.cnf
default-storage-engine=InnoDB
● mysql> create table engineTest(id int) engine=MyISAM;