开源数据库MySQL 8.0 OCP认证精讲视频、环境和题库 之三 选项、变量

选项文件:默认/etc/my.cnf
可以通过以下选项,指定选项文件:
-defaults-file:指定选项文件
例如:mysql--defaults-file=/etc/my.cnf
-no-defaults:不读任何选项文件,所有选项需要在命令行中指定
-defaults-extra-file:除了默认的选项文件之外,读该选项文件
my_print_defaults:列出所有被读到的选项文件中的选项组
my_print_defaults mysqld
mysql--print-default smysql

隐藏登录信息,实现免密码登录


.mylogin.cn文件:二进制,加密,位于当前操作系统用户的HOME目录

选项文件:默认/etc/my.cnf
可以通过以下选项,指定选项文件:
-defaults-file:指定选项文件
例如:mysql--defaults-file=/etc/my.cnf
-no-defaults:不读任何选项文件,所有选项需要在命令行中指定
-defaults-extra-file:除了默认的选项文件之外,读该选项文件
my_print_defaults:列出所有被读到的选项文件中的选项组
my_print_defaults mysqld
mysql--print-default smysql


隐藏登录信息,实现免密码登录

.mylogin.cn文件:二进制,加密,位于当前操作系统用户的HOME目录

[root@student ~]# mysql_config_editor  --help
mysql_config_editor  Ver 8.0.13 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

MySQL Configuration Utility.
Usage: mysql_config_editor [program options] [command [command options]]
  -#, --debug[=#]     This is a non-debug version. Catch this and exit.
  -?, --help          Display this help and exit.
  -v, --verbose       Write more information.
  -V, --version       Output version information and exit.

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- ----------------------------------------
verbose                           FALSE

Where command can be any one of the following :
       set [command options]     Sets user name/password/host name/socket/port
                                 for a given login path (section).
       remove [command options]  Remove a login path from the login file.
       print [command options]   Print all the options for a specified
                                 login path.
       reset [command options]   Deletes the contents of the login file.
       help                      Display this usage/help information.

[root@student ~]# mysql_config_editor  set --login_path=client --user=root --password --host=localhost --port=3306
Enter password: 
会在当前用户HOME文件夹下创建 一个隐藏二进制文件

 [root@student ~]# ls -al .mylogin.cnf
-rw------- 1 root root 156 Oct 12 21:37 .mylogin.cnf
[root@student ~]# 

[root@student ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
 


system variables 
选项与变量
相同点:可以在命令行指定,在选项文件中指定
不同点:
   选项:
        任何可执行文件都有选项,客户端,mysqld
        有些选项有值 ,有些选项没有值
        在命令的一次执行范围内,选项不可改变量
   变量:
        用在服务器端,用来 对服务器进行设置
        所有变量都有值,一开始都有默认值
        变量可以动态修改
        
变量的作用范围
    global:变量针对整个mysql生效
    session :只针对当前会话
mysql> show variables; 列出所有的变量;
mysql>     show variables like '变量名';
mysql> show  variables like '%变量%';
mysql> select @@global.autocommit;   查看全局变量autocommit; 
mysql>select @@session.autocommit;         查看会话级变量autocommit;

mysql> show global variables like 'autocommit'; 
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+
1 row in set (0.00 sec)

  
变量的设置:set 命令
set  global 变量=变量值 
set  session 变量=变量值 
 
 变量的设置:
 1、global变量 : 比如 max_connections
     set global  max_connections=1000;在一个会话中修改后,其它会话中可以看到结果 ;
     set max_connections=1000;出错;
     set session max_connections=1000; 出错;
     
 2、有些变量既有golbal作用,又有session作用范围,比如autocommit,sql_mode,wait_timeout
    set global autocommit=0 ;修改结果在新会话中生效,在现存的会话中不生效
    select @@global.autocommit ,@@session.autocommit;
    set session wait_timeout=30000;修改结果仅在当前会话中生效;
3、有些变量只有sessoin作用范围,比如    

变量的持久性
    通过set命令修改的变量仅对mysqld的本次启动有效;
    解决方法
    1、把变量放在选项文件中
    2、执行命令set prersist 变量=变量值 ,修改结果被写入文件/var/lib/mysql/mysqld-auto.cnf或
       datadir目录中,其格式为json;    
       仅针对global变量
       
 mysql> show  variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> set global  max_connections=1000;
mysql> 
mysql> show  variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1000  |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> 
mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+
1 row in set (0.00 sec)

mysql> set global autocommit=0;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+
1 row in set (0.00 sec)


mysql> set global autocommit=0;  在新会话中生效;
mysql> exit;
[root@student ~]# mysql

mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | OFF   |
+---------------+-------+
1 row in set (0.00 sec)
mysql> 

会话级变量的设置
    mysql> set session wait_timeout=2009;  只有在当前会话才生效;
    Query OK, 0 rows affected (0.00 sec)

    mysql> show variables like 'wait_timeout';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | wait_timeout  | 2009  |
    +---------------+-------+
    1 row in set (0.00 sec)

    mysql> 

mysqladmin工具:用来管理mysqld服务,格式:
    MySQLadmin 选项  命令
    # mysqladmin --help;
    [root@student ~]# mysqladmin -uroot -pOra_123  status
    [root@student ~]# mysqladmin -uroot -pOra_123  ping
    [root@student ~]# mysqladmin -uroot -pOra_123  shutdown
    [root@student ~]# mysqladmin -uroot -pOra_123  version
    mysql> select version();
   [root@student ~]# mysqladmin -uroot -pOra_123   password
   [root@student ~]# mysqladmin -uroot -pOra_123   create   db_1
   [root@student ~]# mysqladmin -uroot -pOra_123   drop     db-1

mysqld进程:多线程

数据文件:被划分为大小相同的page,page大小通过变量innod


    mysqld服务实现了三层功能:
    1、connection层
        启动connection线程
        提供通信协议
        对用户的登录进行验证
    2、SQL层
       分析、检查SQL的语法格式,把SQL转化为二进制代码
       autthorization:检查当前用户对表是否有相太的权限
       优化:针对SQL产生最佳的执行计划。
       执行SQL。
       产生日志,写入日志缓冲区。
    3、storage层
        实现数据的存储
        存储引擎:
            数据在存储介质中如何存储
            当用户访问数据时,数据如何从介质读入内存
            数据在内存中如何被访问
            内存中被修改的数据如何被写的内存


通信协议:
    TCP/IP:        不同操作系统,本地连接,远程连接
    socket:        UNIX/Linux本地连接
    shared memory: windows系统,本地连接 
    named pipe   :windows系统,本地连接 

登录有关的选项:
    -u 指定用户名,默认为root用户
    -h 指定数据库服务器的IP地址,默认为localhost
    -p 指定password
    -P 指定服务器的PORT,默认为3306
# mysql -pOra_123
    
ip地址:
    1、localhost:
        本次使用socket通讯,可以进一步指定socket文件
        mysql> status;
        --------------
        mysql  Ver 8.0.13 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)

        Connection id:        16
        Current database:    
        Current user:        root@localhost
        SSL:            Not in use
        Current pager:        stdout
        Using outfile:        ''
        Using delimiter:    ;
        Server version:        8.0.13 MySQL Community Server - GPL
        Protocol version:    10
        Connection:        Localhost via UNIX socket
        
        mysql> show variables like 'socket';
        +---------------+------------------------+
        | Variable_name | Value                  |
        +---------------+------------------------+
        | socket        | /data/mysql/mysql.sock |
        +---------------+------------------------+
        1 row in set (0.00 sec)

        # mysql -pOra_123  -S  /data/mysql/mysql.sock    #指定用socket协议
 
        #mysql -pOra_123 --protocol=tcp                  #指定用tcp协议
        mysql> status
        --------------
        mysql  Ver 8.0.13 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)
         ...
        Server version:        8.0.13 MySQL Community Server - GPL
        Protocol version:    10
        Connection:        localhost via TCP/IP
        ...
    
    2、127.0.0.1
       本次登录使用tcp通信,可以进一步指定服务器的端口。
       端口的查看:
       mysql> show variables like 'port';  
       # mysql -uroot -pOra_123 -h127.0.0.1 -P 3306
        mysql> status
        --------------
        ...
        Connection:        127.0.0.1 via TCP/IP
        ...
        TCP port:        3306
        ...
    3、有效的IP
       在mysql中执行status命令验证连接情况
       用户帐号:用户名称@ip地址:
       # mysql -uroot -pOra_123 -h 192.168.11.222
        mysql: [Warning] Using a password on the command line interface can be insecure.
        ERROR 1130 (HY000): Host 'student' is not allowed to connect to this MySQL server
    
    
        mysql> select user,host from user;
        +------------------+-----------+
        | user             | host      |
        +------------------+-----------+
        | mysql.infoschema | localhost |
        | mysql.session    | localhost |
        | mysql.sys        | localhost |
        | root             | localhost |
        +------------------+-----------+
        4 rows in set (0.00 sec)

rpm格式安装mysqld服务的启动/关闭:root用户
systemctl start  mysqld 
systemctl status mysqld 
systemctl stop   mysqld 
如何用普通用户启用和关闭mysql
1、在操作系统中对mysql进行解决
   cat /etc/passwd |grep mysql
   systemctl stop   mysqld 
   usermod -d /home/mysql -s /bin/bash mysql
   mkdir /home/mysql
   chown mysql:mysql /home/mysql
   
   password mysql    #输入密码
2、以mysql用户登录操作系统
    su  - mysql
    启动mysqld
    mysqld --defaults-file=/etc/my.cnf &
    mysql用户在mysql数据库要创建
    mysqladmin -umysql -pmysql ping
    mysqladmin -umysql -pmysql shutdown
    
二进制安装 
systemctl start   mysql
systemctl status  mysql
systemctl stop    mysql

rpm格式mysql的弊端
1、处理安全考虑,生产系统不允许安装rpm格式
2、 mysql服务的启动,关闭需要用root用户
 

rpm格式启动、关闭:mysqld
root用户:
systemctlstartmysqld
systemctlstatusmysqld
systemctl stopmysqld
普通用户(如mysql用户):
mysqid --defaults-file=/etc/my.cnf&
mysqladmin -u -p.. shutdown
mysqladmin -u.. -p.. ping
mysqladmin-u.. -p.. status

绿色版:
编辑选项文件
mysqld--defaults-file=/mysql80/mysqld.cnf--initialize
mysqld--defaults-file=/mysql80/mysqld.cnf&
查看初始密码
mysqladmin-u..-p.shutdown
mysqladmin -u.. -p.. ping
mysqladmin-u..-p..status
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/157838.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CVE-2020-9483 apache skywalking SQL注入漏洞

漏洞概述 当使用H2 / MySQL / TiDB作为Apache SkyWalking存储时,通过GraphQL协议查询元数据时,存在SQL注入漏洞,该漏洞允许访问未指定的数据。 Apache SkyWalking 6.0.0到6.6.0、7.0.0 H2 / MySQL / TiDB存储实现不使用适当的方法来设置SQL参…

appium---如何判断原生页面和H5页面

目前app中存在越来越多的H5页面了,对于一些做app自动化的测试来说,要求也越来越高,自动化不仅仅要支持原生页面,也要可以H5中进行操作自动化, webview是什么 webview是属于android中的一个控件,也相当于一…

Leetcode101.对称二叉树

本专栏内容为:leetcode刷题专栏,记录了leetcode热门题目以及重难点题目的详细记录 💓博主csdn个人主页:小小unicorn ⏩专栏分类:Leetcode 🚚代码仓库:小小unicorn的代码仓库🚚 &…

GraphQL 查询:一个全面指南

GraphQL GraphQL 是一种 API 查询语言和运行时,用于使用现有数据完成这些查询。它为您的 API 中的数据提供了完整且易于理解的描述,让客户能够准确地询问他们需要什么,更容易随着时间的推移发展 API,并启用强大的开发人员工具。 …

Linux系统编程_文件编程第1天:打开、写入、读取、关闭文件等编程

1. 文件编程概述(399.1) 内容超多: 文件系统原理及访问机制文件在内核中的管理机制什么是文件信息节点inode文件的共享文件权限,各种用户对其权限。。。。。。 应用为王,如: 账单游戏进度配置文件等 关心如…

Apache Doris 在小鹅通的应用实践

峰会官网已上线,最新议程请关注:doris-summit.org.cn 点击报名 先到先得 本文导读: 随着网络直播规模的不断扩大,在线知识服务在直播行业中迎来了广阔的发展机遇。小鹅通作为一家以用户服务为核心的技术服务商,通过多平…

简单实现一个todoList(上移、下移、置顶、置底)

演示 html部分 <!DOCTYPE html> <html> <head><title>表格示例</title> </head> <body><table border"1"><thead><tr><th>更新时间</th><th>操作</th></tr></thead…

2023-10-12 LeetCode每日一题(找出数组的串联值)

2023-10-12每日一题 一、题目编号 2562. 找出数组的串联值二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始的整数数组 nums 。 现定义两个数字的 串联 是由这两个数值串联起来形成的新数字。 例如&#xff0c;15 和 49 的串联是 1549 。 nums 的 串…

BootStrap-前端框架

资料:https://v3.bootcss.com/components/ BootStrap的概念&#xff08;Web框架&#xff09; Bootstrap&#xff0c;来自 Twitter&#xff0c;是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的&#xff0c;它简洁灵活&#xff0c;使得 Web 开发更加快捷。…

给电瓶车“消消火”——TSINGSEE青犀智能电瓶车棚监控方案

近年来&#xff0c;电瓶车电梯起火、室内起火、楼道起火的新闻层出不穷&#xff0c;很多人为了图方便就将电瓶车推到家中充电&#xff0c;这种十分危险的行为&#xff0c;严重影响了社区的公共安全和个人生命财产&#xff0c;为什么惨痛新闻不断播出&#xff0c;这种行为还是屡…

el-dialog两个弹框里面套弹框受外层弹框影响

el-dialog嵌套的影响及解决方法 解决方法如下&#xff1a; 在里层弹框里添加 append-to-body <el-dialogtitle"图片预览":visible.sync"dialogVisible"class"imgDialog":modal"false"append-to-body><img width"100%&q…

nodejs+vue电子病历管理系统

过软件的需求分析已经获得了系统的基本功能需求&#xff0c;根据需求&#xff0c;将电子病历管理系统功能模块主要分为管理员模块。管理员添加科室信息管理、项目分类管理、药品分类管理、公告信息管理、用户管理等操作。 本系统结合计算机系统的结构、概念、模型、原理、方法&…

LiveMedia视频中间件视频隐私打码直播解决方案

一、方案背景 随着科技的发展&#xff0c;视频监控系统已经成为了我们生活中不可或缺的一部分。无论是在公共区域&#xff0c;还是在私人场所&#xff0c;我们都可以看到各种各样的监控设备。这些设备的出现&#xff0c;无疑提高了我们的生活安全&#xff0c;使得我们可以更好地…

cas-server5.3自定义密码校验规则

前面几篇文章都是关于cas的,今天继续,cas有自己的一个加密配置.如果只是简单使用MD5或者SM3等加密算法进行加密的话,可以不需要再进行自定义操作,但是我们一般还会给用户密码加盐,这样的话原本的配置就不满足了,所以需要再自定义一个密码校验规则 实现PasswordEncoder接口 Pa…

Swagger3.0 与spring boot2.7x 整合避免swagger2.0与boot2.7冲突

注释掉2.0引入的俩包 直接引入3.0 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency> swagger配置文件粘贴即用哦 import org.springfram…

linux 给根目录扩容(lvm CentOS 7.6 kylinx86)

问题:Linux系统挂载到根目录的磁盘空间满了,如何扩容? 用命令:lsblk 可以查看磁盘和分区情况,可以发现磁盘vda下面的还有大部分空间没有使用。 操作步骤 1、使用 fdisk -l 查看硬盘序号,并用 fdisk 对硬盘操作,格式化成lvm的格式 (用命令lsblk可以看到,挂载到根目录…

ppt怎么压缩到10m以内?分享ppt缩小方法

在日常工作中&#xff0c;我们常常需要制作和分享PowerPoint演示文稿&#xff0c;然而&#xff0c;有时候文稿中的图片、视频等元素会导致文件过大&#xff0c;无法在电子邮件或其他平台上顺利传输。为了将PPT文件压缩到10M以内&#xff0c;我们可以使用一些专门的文件压缩工具…

SQL sever中的索引

目录 一、索引定义 二、索引结构 2.1. B-树索引结构&#xff1a; 2.2. 哈希索引结构&#xff1a; 三、索引作用 四、索引与约束区别 五、索引级别 六、索引分类 6.1. 聚集索引&#xff08;Clustered Index&#xff09;&#xff1a; 6.2. 非聚集索引&#xff08;Noncl…

PyQt5 PyQt6 Designer 的安装

pip国内的一些镜像 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 http://pypi.mirrors.ustc.…

Open Winding-PMSM-开绕组永磁同步电机基本介绍

文章目录 前言简介Open Widing电机数学模型零序模型 双逆变器调制零序电流抑制基本思路 前言 最近看了些Open Winding永磁同步电机及其控制策略的文献资料&#xff0c;现做个总结。未来的研究方向也大概率围绕Open Winding开展&#xff0c;期待同行交流学习。 简介 开绕组(O…