您现在的位置是:主页 > news > 专门做折扣的网站有哪些/优化大师 win10下载
专门做折扣的网站有哪些/优化大师 win10下载
admin2025/5/1 3:08:24【news】
简介专门做折扣的网站有哪些,优化大师 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࿰…
目录
- 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形式的上下文无关文法描述转换为可做语法分析的C或C++程序。
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:该值影响自增长列的插入。默认情况下,在对自增主键插入NLL或0时,会自动生成下一个值。若开启该MODE,当插入0时,并不会自动生成下一个值。
NO_ZERO_IN_ DATE:NO_ZERO_IN_DATE针对的是年不为0。
NO_ZERO_DATE:该MODE会影响’000o-00-00’的插入。实际效果还取决于是否开启严格模式。在开启严格模式,且同时开启该MODE,是不允许’0000-00-00’插入的。
ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据被零除则产生错误而非警告。如果未给出该模式,那么数据被零除时MySQL返回NULL。
PIPES 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;