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地址)

相關文章
相關標籤/搜索