centos7开机启动mysql?centos7怎么进入桌面
求助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和CentOS6怎样开启MySQL远程访问
1.开放MySQL访问端口3306
修改防火墙配置文件
vi/etc/sysconfig/iptables
加入端口配置
-A INPUT-m state--state NEW-m tcp-p tcp--dport 3306-j ACCEPT
重新加载规则
service iptables restart
2.修改mysql库里的host
登录mysql;
use mysql
update user set host='%' where user='root' and host='localhost';
记得一定还得修改密码,因为这时密码已失效,虽然本地还可以原密码登录,可远程改了host后还是没法访问
UPDATE user SET password=password("root") WHERE user='root';
flush privileges;
3.重启mysql,远程就可以访问了
service mysqld restart;
CentOS7开启MySQL远程访问
CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样。按如下方便配置防火墙:
1、关闭防火墙:sudo systemctl stop firewalld.service
2、关闭开机启动:sudo systemctl disable firewalld.service
3、安装iptables防火墙
执行以下命令安装iptables防火墙:sudo yum install iptables-services
?
4、配置iptables防火墙,打开指定端口(CentOS6一样)
5、设置iptables防火墙开机启动:sudo systemctl enable iptables
6、之后的和CentOS6一样
求助nat123 linux版CentOS7开机启动问题
单独执行chkconfig命令有没有问题?
systemctl是系统服务管理器命令,它实际上将 service和 chkconfig这两个命令组合到一起的。
# chkconfig:- 80 60这个-符号表示不自动启动,可以使用345等运行级别启动的。
附:centos开机启动服务方法:利用 chkconfig来配置启动级别
在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd、mysqld、postfix等,安装后系统默认不会自动启动的。就算手动执行/etc/init.d/mysqld start启动了服务,只要服务器重启后,系统仍然不会自动启动服务。在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦。其实命令很简单的,使用chkconfig即可。
比如要将nat123设置为开机自动启动:
chkconfig mysqld on
要取消掉某个服务自动启动,只需要将最后的参数“on”变更为“off”即可。
比如要取消 postfix的自动启动:
chkconfig postfix off
值得注意的是,如果这个服务尚未被添加到 chkconfig列表中,则现需要使用–-add参数将其添加进去:
chkconfig–-add postfix
如果要查询当前所有自动启动的服务,可以输入:
chkconfig-–list
如果只想看指定的服务,只需要在“–-list”之后加上服务名就好了,比如查看httpd服务是否为自动启动:
chkconfig–-list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。我们输入:
chkconfig httpd on
则此时为:
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这个时候2~5都是on,就表明会自动启动了。