暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL ocp培训笔记一:启动选项和系统变量

张亮 2025-02-13
182

一、my.cnf启动文件(配置选项)

1、propmt=’\u@\h[\d]>'定义client、mysql的登录的显示内容,user@localhost[dbname]>

2、mysqld读取my.cnf的mysqld的选项组,也可以都server、mysql-8.0的选项组

3、客户端工具,mysql、mysqladmin、mysqlbackup、mysqldump读client选项组

4、默认的选项文件为:/et/my.cnf

可以通过一下选项,指定选项文件

–defaults-file:指定选项文件

例如:mysql --defaults-file=/etc/my.cnf

一般默认为/etc/my.cnf,可以不加–defaults-file

–no-defauts:不读任何选项文件,所有选项需要在命令行进行指定。

–defaults-extra-file:除了默认的选项文件,还需要读这个文件。

5、列出 所有备读到的选项组内容

mysql_print_defaults mysql client

password内容屏蔽

等价命令 mysql --print-defaults mysql client

6、.mylogin.cnf文件:二进制,加密,位于当前操作系统用户的home目录,用来指定与mysql登录有关的选项。

user

password

port

socket

mysql_config_editor命令用于为维护.mylogin.cnf

mysql_config_editor print显示.mylogin.cnf文件内容

mysql_config_editor set用户设置文件所有内容,也可只删除指定的选项组

mysql_config_editor remove用户删除.mylogin.cnf

登录 mysql mysql --login-path=client 读mylogin.cnf选项组

二、配置参数变量(variables)

用在服务器端,用于对服务器进行设置

与启动选项区别和联系

相同点:可以在命令行中指定,在选项文件中指定。

不同点:

选项:任何可执行文件都有选项,client、mysqld、server

选项可以没有key值(有些有值,有些没值)、在命令的一次执行范围内,选项不可改变。

变量:

用在服务器端,用来对服务器进行设置

所有变量都有值,未设置时采用默认值

变量可以动态修改的。

作用范围:

global:针对整个mysqld生效。

session:针对当前的session生效。

变量的view

mysql --help

列出选项和变量

mysql>show variables;(显示所有变量)

show variables like ‘变量名称’

select @@global.autocommit;(全局)

select @@session.autocommit;(当前session)

show global variables like ‘autocommit’;

show session variables like ‘autocommit’;

变量的设置

set命令

动态变量:set可修改

静态变量(read_only)

set global 变量=key

set session 变量=key

变量的设置:

(1)global变量: max_connections

在一个会话中修改之后,在其他会话中都可以看到修改结果。所有会话都生效。

(2)有些变量既有global作用范围,又有session作用范围

例如:autocommit、sql_mode,wait_timeout

set global autocommit=0(修改结果在新session中生效,在现存会话不生效)

set session wait_timeout=30000;修改结果仅在当前会话中生效。

(3)有些变量只有session作用范围,例如:sql_log_bin

静态变量只能在选项文件中修改,涉及修改后重启MySQL生效。

变量的持久性

通过set命令修改的变量仅针对mysqld的本次启动生效

解决办法:

(1)把变量放到选项文件中。

(2)执行命令set persist 变量=key,修改结果被写入文件。修改结果写入mysqld-auto.cnf中,JSON格式,仅针对具有global的变量生效,修改文件中变量值为default,起到取消的效果。

mysqladmin工具:用于管理mysqld的服务,格式:

mysqladmin选项,子命令status(运行状态),其他同mysql工具。ping(测试mysqld的状态);shutdown,version、create、drop。

附录:

普通用户启动/关闭mysqld服务

1)rpm安装

root用户启动/关闭mysqld。

(1)解锁mysql用户。

systemctl stop mysqld

usermod -d /home/mysql -s /bin/bash mysql

passwd mysql

mkdir /home/mysql

chown mysql:mysql /home/mysql

(2)用mysql用户登录操作系统并启动MySQL

mysqld -defaults-file=/etc/my.cnf

mysqladmin -u -p ping

mysqladmin -u -p shutdown

mysqladmin -u -p status

rpm安装的弊端

1)处于安全考虑,生产系统不允许安装rpm格式

2)mysqld的启动和关闭需要用root用户

mysqld_multi:适合二进制方式安装的ySQL

1、配置第一个mysqld服务

[mysqld_multi]

mysqld=

mysqladmin=

user=

password=

多个实例需要创建相同的用户,密码也一致,并给与用户shutdown权限。

启动

mysqld_multi --defaults-file=/mysql80/mysqld.cnf start 1,2,3

查看状态

mysqld_multi --defaults-file=/mysql80/mysqld.cnf report 1,2,3

关闭

mysqld_multi --defaults-file=/mysql80/mysqld.cnf stop 1,2,3

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论