• CentOS7安装mysql以及使用pycharm远程连接mysql时遇到的问题


    背景:做python项目的时候需要使用pycharm连接mysql数据库,在CnetOS7版本中mysql换了个名字叫做mariadb

    安装命令

    yum -y install mariadb mariadb-server

    设置密码、修改密码

    mysqladmin -u root password '123'
    mysqladmin -uroot -p"123" password "456"

    忘记密码

    vim /etc/my.cnf    #mysql主配置文件
    [mysqld]下添加
    skip-grant-table
    保存退出并重启服务
    systemctl restart mariadb
    mysql #进入数据库修改密码
    MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
    MariaDB [(none)]> flush privileges;

    设置开机启动

    systemctl enable mariadb

    创建数据库和数据库用户并赋权

    mysql>create database meiduo default charset=utf8;  #创建名为meiduo的库

    mysql>create user meiduo identified by 'meiduo';        #创建名为meiduo的用户,密码为meiduo

    mysql>grant all on meiduo.* to 'meiduo'@'%';             #将meiduo数据库的所有权限赋予meiduo用户且不限制访问ip

    mysql>flush privileges;                                                #刷新MySQL的系统权限相关表

    现在可以尝试用pycharm的pymysql模块连接Mysql数据库

    问题1:

    解决办法:

    查看CentOS7系统的防火墙,默认是开启的

    使用systemctl stop firewalld命令关闭防火墙

     再次在pycharm里尝试连接

    问题2:

    还是连接不到,错误代码是1130,pymysql.err.InternalError: (1130,'xxxxx' is not allowed to connect to this MariaDB server")

    之后发现是权限问题。如下操作mysql库,即可解决。登录mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。

    mysql -u root -p

    mysql>use mysql; #选择mysql库

    mysql>update user set host = '%' where user ='root' and host='localhost'; #修改host值(以通配符%的内容增加主机/IP地址)

    mysql>flush privileges; #刷新MySQL的系统权限相关表

    退出mysql后再次登录需要使用mysql -h xxx.xxx.xxx.xxx  -uroot -p才能登录 (xxx.xxx.xxx.xxx为远程mysql服务器的ip地址)

  • 相关阅读:
    1-1 10:超级玛丽游戏
    1-1 09:字符菱形
    【Lucene4.8教程之四】分析
    【Lucene4.8教程之六】QueryParser与Query子类:如何生成Query对象
    【Lucene4.8教程之三】搜索
    Java路径问题最终解决方案—可定位所有资源的相对路径寻址
    java.util.logging.Logger基础教程
    【Lucene4.8教程之二】索引
    【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
    重要学习参考资料
  • 原文地址:https://www.cnblogs.com/zhangdajin/p/10864367.html
Copyright © 2020-2023  润新知