侠客的博客

略懂Html,Css,JavaScript,JQuery,Linux,PHP,Java,Vue,Python

macos系统mamp的mysql配置文件secure_file_priv

今天在做mysql百万数据导出的时候,发现一个问题,我就新开一个文章来记录操作

我的电脑是macbook,安装的集成环境包是mamp,免费版的

因为导出百万级的数据,需要开启mysql的secure_file_priv权限


很多人不知道这个配置文件在哪里,我这里就以macos系统作为例子来寻找配置文件,并修改配置

1,查看mysql的服务进程

ps -ef|grep mysql

得到的结果是:

  501  6466     1   0 11:33下午 ??         0:00.03 /bin/sh /Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log
  501  6593  6466   0 11:33下午 ??         0:30.79 /Applications/MAMP/Library/bin/mysqld --basedir=/Applications/MAMP/Library --datadir=/Applications/MAMP/db/mysql57 --plugin-dir=/Applications/MAMP/Library/lib/plugin --log-error=/Applications/MAMP/logs/mysql_error_log.err --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --socket=/Applications/MAMP/tmp/mysql/mysql.sock --port=3306

2,找到mysqld文件路径,然后查看配置文件存放位置

/Applications/MAMP/Library/bin/mysqld --verbose --help |grep -A 1 'Default options'

得到的结果是:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf

OK,找到配置文件的存放位置了

然后command+space,输入terminal,回车

再输入:

sudo vi /etc/my.cnf
password:******

[mysqld]
secure_file_priv=''

:wq 回车

然后重启mysqld就OK了

然后查询secure_file_priv权限

xaake@majinhais-MBP ~ % /Applications/MAMP/Library/bin/mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 119
Server version: 5.7.25 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, 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> show global variables like '%secure%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| require_secure_transport | OFF   |
| secure_auth              | ON    |
| secure_file_priv         |       |
+--------------------------+-------+
3 rows in set (0.00 sec)

mysql>

OK ,现在就可完美解决百万数据导出的问题了

这个中间有一个环节是需要注意的,就是配置文件这块

我只配置了一个secure_file_priv,其它的配置我没有弄,就是默认,如果要修改的话,就添加到my.cnf中,配置文件的开始是[mysqld]这个不能少,一定不能少,不然就报错了

发表评论:

©Copyright 2019 52400073.com Author by xaake,基于 Zblog