centos7 mysql 目录(centos删除目录)

大家好,今天来为大家解答centos7 mysql 目录这个问题的一些问题点,包括centos删除目录也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

求助centos7,mysql 启动服务出错的问题

一、my.cnf配置文件datadir项配置错误或被启动脚本篡改

这个问题不太说讲,主要是mysql自带的启动文件(/etc/init.d/mysqld)中会自动检测mysql的数据存储目录,若mysql新装,尚未初始化系统表,那么配置文件中的datadir项写不写无所谓,出现这种情况主要是在更改了mysql的数据存储目录,今天我出现的这个问题就在于此。

我的mysql安装后的配置文件中关于datadir项目的配置如下,而该配置文件存储于/etc/my.cnf,今儿不知动了什么东西,查来查去都没找着原因,后来打开该配置文件才发现,其中的datadir项目被篡改成/var/mysql/data了.....

[mysqld] datadir=/data/mysql socket=/tmp/mysql.sock user=mysql

二、进程里已经存在mysql进程

这种情况我很少遇到,若存在mysql进程但有不提供mysql服务(表现为其他客户端连接不上mysql服务器,例如php连接mysql时提示“连接失败”),这个时候就要看看有没有存在的mysql僵尸进程了,命令如下:

ps-ef|grep mysql

若存在,该命令执行后会列出存在的僵尸进程,kill-9 `pid`掉即可。

三、mysql的数据存储目录权限不足

这种情况发生于mysql第一次安装或升级,配置文件中的datatdir目录的权限要设定好,一般来说运行mysql的用户以及组就是mysql.mysql,那么解决权限不足问题的方法如下:

chown-R mysql.mysql/data/mysql##该命令仅为示例,其中/data/mysql就是mysql配置文件中datadir的目录##若为空,则默认为mysql安装目录下的data文件夹下

四、覆盖安装或升级mysql后,残余数据的影响

这种情况发生于mysql被覆盖安装或升级后,当然mysql无故宕机后也会有这种情况,可能会影响mysql启动的数据文件,一般存在于mysql的数据存储目录(这个目录依据my.cnf配置文件中的datadir而异),也就是存在于mysql数据存储目录下的mysql-bin.index文件,删除之即可。

五、selinux的问题,centos下最容易出现

selinux不甚了解,直接关掉。

##方法1:永久关闭seliux##修改 vi/etc/selinux/config#文件中设置SELINUX=disabled,然后重启服务器##方法2:暂时关闭seliux setenforce 0##如需每次开机都铃声关闭seliux,则可以在/etc/rc.d/rc.local文件中添加该命令

六、mysql运行状态下删除binary日志后重启失败

这是今天在群里的一个朋友出现的,特汇总于此;当mysql开启了二进制日志并且mysql在运行状态下用rm命令删除过mysql的binary日志文件的话,下次重启mysql你就悲剧了。

什么是binary日志?说白了就是mysql的数据目录下的mysql-bin.000001、mysql-bin.000002的文件。

解决方法就是修改配置文件临时关闭binary-log,然后删除mysql数据目录下的所有类似mysql-bin.000001、mysql-bin.000002的文件后再次重启,mysql即可启动成功。

#mysql配置关闭二进制日志找到如下语句注释掉即可#log-bin=mysql-bin#binlog_format=mixed

此步骤操作完毕之后,若还需要启用二进制日志,那么就要先停掉mysql服务,然后修改msyql的配置文件,再次重启即可。

另外再附上正确删除mysql二进制日志文件的方法(绝对不是rm-rf命令直接删这些文件):

#第一步通过shell或cmd登录进mysql这步没什么好说的 msyql-u root-p***#第二步在mysql下直接执行清理binary日志命令 mysql> reset master#注意:此处仅针对单台mysql而言,若有互备mysql则执行该命令有风险。

centos7怎么安装mysql

1、Centos 7默认不支持mysql(都是因为钱),所以centos 7默认支持的是mariadb

何为mariadb?

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

说到这,我个人强烈推荐大家开始学习MariaDB,当然由于我们一些项目还是要用mysql的,所以不能放弃。真不难学。

接下来我讲一下centos 7对mysql的安装过程

1、如果一定要在centos 7上安装mysql,需要卸载MariaDB,否则会冲突。

2、执行这个命令:rpm-qa| grep mariadb

3、这时会出现一些列表,都是mariadb的包,接下来我们要干掉

4、执行如下命令rpm-e–nodeps mariadb-libs-XXXXX.x86_64(注意我这里的xxxx,要根据第三步出现的列表,挨个干)

5、干完后,就可以安装mysql了。

6、去度娘搜索mysql的rpm包,一大把。我用的是5.6.22.(找不到的,问我要)

ww

这里需要安装至少2个,1个是mysql-server-xxxx.rpm(这个就是服务端),还有一个是mysql-client-xxxx.rpm(这个是客户端,不想装?不装的话你没法初始化root密码,求懂)

7、执行 rpm-ivh“上面两个文件名”

8、这样就装好了。

9、然后执行:service mysql start(如果OK,说明装好了)

10、再然后执行:service mysql stop(不要问为什么,因为默认root没有密码,你进不去,所以接下来我们要绕过密码登录)

11、执行这个命令:mysqld_safe–user=mysql–skip-grant-tables–skip-networking& mysql-u root mysql(也就是,老子不用密码直接登录,这时mysql服务必须关闭状态)

12、然后执行这个命令:UPDATE user SET Password=PASSWORD(‘XXXXX’) where USER=’root’;这里就是对root账号初始化密码,xxx自行改,不要忘了。忘掉的话就要用第11步初始化(谁说没有密码就不能进mysql?)

13、然后执行 flush privileges;(注意不要忘记最后的分号,必须有,不要问为什么)

14、然后输入quit;退出mysql客户端。

15、重新启动mysql,命令:service mysql start

16、然后用root账号登录命令:mysql-u root-p(接下来会提示你输入密码,此时屏幕不可见,不要以为死机了)

17、这时随便执行一个sql,譬如 show databases;

18、这时会报错,大约是You must SET PASSWORD before executing this statement.其实就是我们常见的:第一次登录需要改密码,

19、那我们就改一改吧,反正不会怀孕

20、执行 SET PASSWORD= PASSWORD(‘xxxx’);注意分号,也可以把密码跟上面搞得一样。

21、然后再去执行一些sql,看看对不对。对的话quit;

22、最后,我们最好吧mysql重启一下. service mysql restart

23、然后配置远程可以连接(注意刚才我们都是在本机操作的哦~~~~)

24、依然mysql-u root-p输入密码后登入

25、执行:GRANT ALL PRIVILEGES ON*.* TO‘root’@’%’ IDENTIFIED BY‘这里填你的密码’ WITH GRANT OPTION;(这里root@后面的百分号代表全宇宙都可以连接你的mysql,只要知道密码),如果是仅仅允许某个IP连接,那么把这个百分号换成某个ip即可

26、FLUSH PRIVILEGES;并且退出

27、保险起见,再重启mysql服务

好吧,OK了。接下来大家可以用navicate去连接啦

Centos7查看Mysql配置文件

my.cnf是mysql启动时加载的配置文件,一般会放在mysql的安装目录中,用户也可以放在其他目录加载。

安装mysql后,系统中会有多个 my.cnf文件,有些是用于测试的。

安装locate

命令

输出

当我们需要修改配置文件时,需要找到mysql启动时是加载了哪个 my.cnf文件。

启动mysql后,我们查看mysql的进程,看看是否有设置使用指定目录的 my.cnf文件,如果有则表示mysql启动时是加载了这个配置文件。

命令

输出

可以看到/usr/local/Cellar/mysql/5.6.24/my.cnf就是mysql启动加载的配置文件。

如果上面的命令没有输出,表示没有设置使用指定目录的 my.cnf。

如果没有设置使用指定目录的 my.cnf,mysql启动时会读取安装目录根目录及默认目录下的 my.cnf文件。

查看mysql启动时读取配置文件的默认目录

命令

输出

这些就是mysql默认会搜寻 my.cnf的目录,顺序排前的优先。

如果没有设置使用指定目录 my.cnf文件及默认读取目录没有 my.cnf文件,表示mysql启动时并没有加载配置文件,而是使用默认配置。

需要修改配置,可以在mysql默认读取的目录中,创建一个 my.cnf文件(例如:/etc/my.cnf),把需要修改的配置内容写入,重启mysql后即可生效。

阅读剩余
THE END