1、首先用管理员进入数据库级中的安全性,点击登录名,点击新建登录名。
2、在界面中,创建登录名,并设置默认的数据库的密码。
3、然后勾选需要设置的数据库,完成创建。
4、然后就可以对数据库中的User表进行权限的设置了,右键“属性”。
5、依次点击“添加”,浏览”,“选择对象”。
6、然后就可以下面的列表中找到对应的权限授予进行设置。
非root用户运行MySQL,当MySQL配置比较高时,MySQL运行中生效的参数值与配置的值不一样,所以具体分析一下MySQL是怎么调整这些参数值的。
这篇文章的目的是为了说明在系统资源不够的情况下,MySQL 是怎么调整者三个参数的。说明此文涉及到三个参数open_files_limit、 max_connections、 table_open_cache。与这三个参数相关的系统资源是打开文件数限制,即文件描述符(fd)限制。系统参数与文件描述符的关系 - max_connection & fd : 每一个MySQL connection 都需要一个文件描述符;
- table_open_cache & fd 打开一张表至少需要一个 文件描述符,如打开MyISAM需要两个fd ;
- 系统最大打开文件数可以通过 ulimit -n查看。MySQL调整参数的方式
根据配置(三个参数的配置值或默认值)计算 request_open_files(需要的文件描述符);
2.获取有效的系统的限制值effective_open_files; 3.根据effective_open_files调整request_open_files; 4.根据调整后的request_open_files,计算实际生效的参数值(show variables 可查看参数值)。计算request_open_filesrequest_open_files有三个计算公式:1. // 最大连接数+同时打开的表的最大数量+其他(各种日志等等)2. limit_1= max_connections+table_cache_size * 2 + 103. 4. //假设平均每个连接打开的表的数量(2-4)5. //源码中是这么写的:6. //We are trying to allocate no less than 7. // max_connections*5 file handles8. limit_2= max_connections * 59. 10. //mysql 默认的默认是500011. limit_3= open_files_limit ? open_files_limit : 500012. 13. 所以open_files_limit期待的最低14. request_open_files= max(limit_1,limit_2,limit_3)计算effective_open_files:MySQL 的思路:在有限值的的范围内MySQL 尽量将effective_open_files的值设大。 修正request_open_files
requested_open_files= min(effective_open_files, request_open_files)
重新计算参数值
修正open_files_limitopen_files_limit = effective_open_files
修正max_connections
max_connections 根据 request_open_files 来做修正。1. limit = requested_open_files - 10 - TABLE_OPEN_CACHE_MIN * 2
如果配置的max_connections值大于limit,则将max_connections 的值修正为limit
其他情况下 max_connections 保留配置值
修正table_cache_size
table_cache_size 会根据 request_open_files 来做修正1. // mysql table_cache_size 最小值,4002. limit1 = TABLE_OPEN_CACHE_MIN3. // 根据 requested_open_files 计算4. limit2 = (requested_open_files - 10 - max_connections) / 25. limit = max(limit1,limt2)
如果配置的table_cache_size 值大于limit,则将 table_cache_size 的值修正为limit
其他情况下table_cache_size 保留配置值
举例
以下用例在非 root 用户下运行
参数设置:
//mysql
max_connections = 500
table_open_cache = 999//ulimit -n
1500
生效的值:
open_files_limit = 1500 max_connections = min[(1500 - 10 - 800),500] = 500
table_open_cache = ( 1500 - 10 - 500) / 2 =495
修改php.ini适用自己有服务器的人大多数都修改php.ini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;
那么更改如下几处:
修改 PHP.ini
file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize 20m 望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size 30m 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
说明
一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。
max_execution_time 300 每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time 300 每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit 128m 每个PHP页面所吃掉的最大内存,默认8M
设定 POST 数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)