美文网首页
阿里云Centos7安装mysql数据库及问题总结

阿里云Centos7安装mysql数据库及问题总结

作者: sunshaoping | 来源:发表于2018-10-16 17:15 被阅读0次

    一.安装mysql数据库(mysql和mardb是同一个类型)

    命令一:yum install mysql 安装mysql
    命令二:yum install mariadb-server 安装mardb
    命令三:yum remove mariadb-server 卸载mardb
    

    报错:

    File "/usr/bin/yum", line 30
        except KeyboardInterrupt, e:
                                ^
    SyntaxError: invalid syntax
    

    解决:百度一下原因 这是因为yum采用python作为命令解释器,这可从/usr/bin/yum文件中第一行发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.6,当系统将python升级到3.0后,出现语法解释错误,最主要是之前我升级了python。
    修改yum的解释器为旧版本python2.6

    # vi /usr/bin/yum
    #!/usr/bin/python2.7
    

    修改urlgrabber-ext-down文件,更改python版本

    # vi /usr/libexec/urlgrabber-ext-down
    #!/usr/bin/python2.7
    

    还有一种解决方法说是升级yum,没有试过,简友们可以尝试一下。
    二.安装mariadb-server服务器,启动服务

    yum install mariadb-server
    systemctl start mariadb
    

    三.输入指令更新密码和用户、数据库、数据表

    /usr/bin/mysql_secure_installation
    注:在这个更新数据库和数据表的过程中,有一步是提示是否允许服务从远程登录,应该允许,此处应该允许服务从远程登录,不然无法使用Navicat远程链接数据库
    

    出现1103问题的原因是因为linux中的服务不允许从远程登录,只能在localhost。这个时候只要在localhost的那台服务器上,登入mysql后,更改"mysql"数据库里的"user"表中的"host"项,从"localhost"改为"%"。


    image.png

    解决思路:
    1.进入到mysql服务

    mysql -u root -p
    

    2.切换到mysql表:

    use mysql ;
    

    3.赋予任何主机访问数据库的权限:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    # 赋予指定主机访问
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'12.0.0.1' WITH GRANT OPTION BY "****(密码)";
    

    4.修改生效:

    FLUSH PRIVILEGES;
    

    5.退出mysql服务:

    exit;
    

    6.重启mysql(mariadb)服务:

    systemctl restart mariadb
    

    7.使用Navicat链接服务,成功

    其他操作总结:
    一.更改mysql默认端口
    1.修改端口号、开放端口

    vi /etc/my.cnf 
    

    添加port=3308
    2.重新启动mysql服务使配置生效:

    # systemctl restart mysql(mariadb)
    

    3.设置远程端口(开启mysql对外端口)

    # firewall-cmd --zone=public --add-port=3308/tcp --permanent
    

    4.使用命令加载防火墙设置

    # firewall-cmd --reload
    

    总结:在进行到第3步时出现防火墙没有启动成功,然后我查看防火墙状态,发现错误,可能是因为防火墙依赖于python2的环境,而我的服务器环境将python的指向python3,所以导致无法启动防火墙进程。

    systemctl status firewalld   # 查看防火墙状态
    systemctl start firewalld  # 启动防火墙  
    

    报错信息:


    image.png

    解决:然后我就去网上百度,结果还真让我给发现问题
    1.查看第一个文件python的指向是否正确

    vim /usr/bin/firewall-cmd
    

    2.查看第二个文件的python指向

    vim /usr/bin/firewall-cmd
    

    3.将两个文件的python指向都指向python2.7,然后启动防火墙服务,正常


    image.png

    后面设置远程端口也都正常。OK,搞定!!!

    相关文章

      网友评论

          本文标题:阿里云Centos7安装mysql数据库及问题总结

          本文链接:https://www.haomeiwen.com/subject/jgbhzftx.html