当前位置:首页 > 行业动态 > 正文

如何正确设置云数据库MySQL的连接参数?

云数据库MySQL的连接参数包括主机名(或IP地址)、端口号、用户名、密码以及数据库名称。

MySQL数据库是一种广泛使用的关系型数据库管理系统,它依赖于大量的参数来控制SQL的处理和执行过程,这些参数可以分为静态参数和动态参数,区别在于参数值是否可以在实例的生命周期内修改并生效。

如何正确设置云数据库MySQL的连接参数?  第1张

MySQL参数的分类

1. 静态参数

定义:静态参数在数据库启动期间不能被修改,设置之后必须要重启才能生效。

示例:log_slave_updates,back_log,log_bin,lower_case_table_names。

2. 动态参数

定义:动态参数在数据库启动期间能被修改,分为全局级和会话级。

全局级:参数值修改后,新创建的session中生效,但已开启的session不受影响。

会话级:参数值修改后仅对当前session生效,不影响其他session。

MySQL参数查看

1. global级参数的查看

方法一:mysql> select @@global.wait_timeout;

方法二:mysql> show global variables like '%wait_timeout%';

方法三:mysql> select * from performance_schema.global_variables where variable_name ='wait_timeout';

2. session级参数的查看

方法一:mysql> select @@wait_timeout;

方法二:mysql> select @@session.wait_timeout;

方法三:mysql> show variables like '%wait_timeout%';

方法四:mysql> show session variables like '%wait_timeout%';

MySQL配置参数详解

1. client组参数

参数 说明
port 用来监听TCP/IP连接的端口号码,在Linux系统上,必须大于1024,默认值:3306
socket Linux系统下用来监听本地连接的套接字文件,默认为/tmp/mysql.sock,可以设置为指定的目录,Windows系统下用来监听本地连接的命名空间,默认是MySQL,没有大小写限制,默认值:LINUX: /tmp/mysql.sock;WINDOWS: MySQL
initcommand 连接到服务器后执行的语句,此处用来设置客户端字符集,默认值:无

2. mysql组参数

参数 说明
prompt 提示信息格式,改为“用户@主机 时:分:秒[数据库]”这种格式,由于h只能显示localhost,不利于分辨主机,需根据真实的主机名(hostname)替换规范值中的,默认值:无

3. mysqld组参数

参数 说明
server_id 代表主从复制中主从MySQL实例的唯一ID值,一个复制集中的serverid不能相同,默认值:0
read_only 设置数据库为只读模式,默认是OFF,即可读可写,为了保证生产数据的安全,防止人为失误在从库进行写操作造成数据不一致,需要在从库设置为只读模式,除super权限用户外,普通用户无法在从库写数据,默认值:OFF
super_read_only 设置数据库为只读模式,默认是OFF,即可读可写,为了保证生产数据的安全,防止人为失误在从库进行写操作造成数据不一致,表示super权限用户也无法在从库写数据,默认值:OFF
port 用来监听TCP/IP连接的端口号码,在Linux系统上,必须大于1024,默认值:3306
user 用于启动MySQL数据库服务的系统用户,可以更改为任何非root的普通用户,默认值:无
basedir MySQL数据库程序文件安装目录,可以指定为具体的目录,默认值:无
datadir MySQL数据库数据文件存放目录,可以指定为具体的目录,默认值:无
tmpdir 用于存放临时文件和临时表的目录,可以设置多个路径,在unix系统下使用冒号(:)作为分隔符,在Windows系统下使用分号(;)作为分隔符,默认值:/tmp
character_set_server MySQL数据库服务的字符集,5.7版本默认值为latin1,8.0版本默认值为utf8mb4,为避免早期字符集的一些问题,需要设置为utf8mb4,如果改变默认值,也得同时修改collationserver值,默认值:latin1(5.7) utf8mb4 (8.0)
collation_server MySQL数据库服务的字符的排序规则,5.7默认值为latin1_swedish_ci,8.0默认为utf8mb4_0900_ai_ci,需配合charactersetserver一起修改,这个规则代表默认的数据排序,按照大小写排序或者不区分大小写等,默认值:latin1_swedish_ci(5.7) utf8mb4_0900_ai_ci(8.0)
lower_case_table_names 用来设置数据库中所有表名区分大小与否,这里有三个取值,0代表区分大小写;1代表全部为小写;2代表数据库存放按照程序设定的值,但是后期检索的话还是按照小写

FAQs

问题1:如何查看MySQL的全局参数?

答案:可以通过以下几种方法查看全局参数:

方法一:mysql> select @@global.参数名;

方法二:mysql> show global variables like '%参数名%';

方法三:mysql> select * from performance_schema.global_variables where variable_name ='参数名';

问题2:如何动态修改MySQL的参数?

答案:可以使用SET命令动态修改参数,

修改全局参数:set global 参数名 = 值;

修改会话参数:set session 参数名 = 值;

需要注意的是,不是所有的参数都支持动态修改,有些参数只能在配置文件中修改并重启数据库才能生效。

以下是一个关于云数据库MySQL和MySQL数据库连接参数说明的表格:

参数名称 说明 示例值
数据库名 数据库的名称 my_database
用户名 连接到数据库的用户名 my_user
密码 连接到数据库的密码 my_password
主机地址 MySQL服务所在的主机地址,通常是IP地址或域名 192.168.1.1
端口号 MySQL服务的端口号,默认为3306 3306
连接字符集 连接数据库时使用的字符集,例如utf8mb4 utf8mb4
连接超时 连接数据库的超时时间,单位为秒 30
空闲连接超时 空闲连接在多长时间后自动关闭,单位为秒 1800
最大连接数 数据库的最大连接数 100
最小空闲连接数 数据库的最小空闲连接数,用于维持一定数量的空闲连接以提高性能 10
连接池大小 连接池中维护的连接数量,用于提高数据库连接的效率 20
读取超时 从数据库读取数据时的超时时间,单位为秒 10
写入超时 向数据库写入数据时的超时时间,单位为秒 10
事务隔离级别 事务的隔离级别,例如READ COMMITTED、REPEATABLE READ、SERIALIZABLE等 READ COMMITTED
自动重连 当连接断开时,是否自动尝试重新连接数据库 true
连接验证查询 连接成功后,发送一个查询以验证连接是否有效 SELECT 1

参数值仅为示例,实际使用时请根据您的需求进行调整。

0