在centos 7 下安装mysql及配置启动项问题

今天在腾讯云上安装mysql感觉心很累。

      从 CentOS 7 系统开始,MariaDB 成为 yum 源中默认的数据库安装包。在 CentOS 7 及以上的系统中使用 yum 安装 MySQL 包将无法使用 MySQL。

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

1.下载mysql的repo源
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm


2.安装mysql-community-release-el7-5.noarch.rpm包

     sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

3.安装mysql

     sudo yum install mysql-server

4.重置mysql密码

$ mysql -u root

    登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

 sudo chown -R root:root /var/lib/mysql


5. 重启mysql服务
     service mysqld restart

接下来登录重置密码:

 mysql -u root  //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';

mysql > exit;

再次重启mysql服务即可

service mysqld restart


嗯....接下来并不算完,一般我们要配置mysql自启动,然后问题来了

    首先是在执行 chkconfig --add mysql 时报错

    chkconfig error reading information on service mysql: No such file or direct

    然后就开始找吧,进入/etc/rc.d/init.d 下面未发现有mysqld,百度说去 /usr/share/mysql目录下复制一个mysql.server文件,还是没有,这就尴尬了。

  执行  whereis mysql ,得到几个路径,结果第一个进不去,更惨

mysql: 

    /usr/bin/mysql      /usr/lib64/mysql      /usr/include/mysql     /usr/share/mysql      

    /usr/share/man/man1/mysql.1.gz


    偶然搜到一个查看mysql 状态的指令,systemctl status mysqld.service


    很高兴,找到mysql.server了,赶紧复制

    cp /usr/lib/systemd/system/mysqld.service /etc/rc.d/init.d/mysqld

    接着执行 chkconfig --add mysql ,然后惊喜的发现换了个错误.....

    service mysqld does not support chkconfig

    继续百度之路,最后是修改 /etc/rc.d/init.d/mysqld,在脚本开头的#里加上一句话,

    # chkconfig: 2345 10 90 

    再执行chkconfig --add mysqld 就可以了,最后执行 chkconfig --level 3 mysqld on 

    虽然会报Forwarding request to 'systemctl enable mysqld.service' ,但是我重启之后mysql是启动的,如果以后出问题再继续修改吧



猜你喜欢

转载自blog.csdn.net/Broken_Wave/article/details/80973578
今日推荐