解决mysql没有my.cnf配置文件及修改mysql默认存储空间(最简单配置)

 

    安装了mysql却没有my.cnf配置文件是个很多新手都会遇到的问题。想必很多新手都经历到过这样的情景:准备修改mysql存储空间(datadir)等情况时,按着网上的教学去做,突然发现居然没有my.cnf;转而搜索“mysql没有my.cnf怎么办”,mysql如何添加my.cnf"。。。但是网络上的相关搜索中充斥着大量不同的信息(因为每个人遇到的情况都不一样),且有一些写的很模糊的文章又被垃圾网站运用爬虫疯狂转载......大部分新手遇到的问题就是my.cnf到底要怎么配置,网上搜索出来的配置详解大多比较复杂;其实,对于my.cnf新手仅需配置最基本的几个信息就够了(当然能参照文档将my.cnf配置详细了解肯定是最好的,新手可以慢慢来)。笔者提供了一种简单的my.cnf配置方案,可以供新手们参考:

  1.运行 mysql --help | grep my.cnf 查看my.cnf配置位置的读取顺序。/etc/my.cnf不存在,则我们需要在etc下创建my.cnf配置文件(mysql会优先度读取)。

    2.去/usr/share/mysql里将my-default.cnf文件copy到第一步查到的路径里,命名为my.cnf。my-default.cnf可以作为我们的模板,这个文件里的参数比较少且都比较好理解。

    3.进入数据库mysql -u root -p,运用命令对my-default.cnf中注释掉的几个最基本参数进行查询并填充回去:如show variables like '%basedir%'; 可以查到目前mysql的basedir信息,然后我们将my.cnf中注释掉的basedir填为查询到的数值。笔者是仅填写了以下几个参数(basedir、datadir、port、socket):

注意这些参数一定要根据用户自己的实际情况来填写(按照本步骤说的方法从数据库里查询得到)

4. 新增client参数,避免本地访问出现错误:

 

 

 本人在新增my.cnf文件同时,修改了mysql默认存储空间(datadir),故对应的datadir和在原来datadir路径下的socket需要更新为修改后的路径(比如你将原始的datadir:/var/lib/mysql copy到 /opt/mysql,则/opt/mysql则为修改后的路径)。这边要求新增client参数就是避免在本地登录mysql时,mysql依旧去读旧的sock(/var/lib/mysql/mysql.sock),则会出现无法登录的情况。

5.重启mysql service mysql restart 然后再用命令show variables like '%datadir%'; 去查修改后的参数(如port、datadir等),如果修改成功就ok了

好吧!因为快下班了,周末即将到来!本文写的也非常非常简陋含糊!有空再补充!希望本文能给新手们一点参考,有疑问的可以留言大家一起探讨学习!

posted @ 2020-07-31 16:29  沙拉七酱  Views(6009)  Comments(0Edit  收藏  举报