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

背景:作python项目的时候须要使用pycharm链接mysql数据库,在CnetOS7版本中mysql换了个名字叫作mariadbpython

安装命令mysql

yum -y install mariadb mariadb-server

设置密码、修改密码sql

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;

设置开机启动vim

systemctl enable mariadb

建立数据库和数据库用户并赋权服务器

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

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

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

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

如今能够尝试用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地址)

相关文章
相关标签/搜索