mariadb的python连接,远程连接,字符编码问题总结

概述:
在学习python web的时候数据库和python的连接是一个很重要的地方,但是在windows安装mariadb的时候遇到了一些问题,最终选择远程连接红帽上的数据库,发现这样也十分方便,在使用过程中还遇到了诸如中文无法写入数据库的问题,这里进行一下总结。

1.python连接mariadb

mariadb本来就是mysql的一个分支,所以基本方法和mysql连接python是一样的,由于使用的是pycharm,本以为import mysql发现红色下划线后直接输入alt+enter就能自己用pip下载好,结果发现不是,pip安装的时候会报出一个vc9的错误,经过百度,发现需要下载python-mysql的支持包,下载地址:python-mysql-connector


下载后直接安装,之后在pycharm中import mysql即可使用了。

2.mariadb如何允许非本机连接

[root@localhost ~]# mysql -uroot -p
Enter password: 
登陆数据库

MariaDB [(none)]> grant all privileges on *.* to 'root'@'192.168.1.104' identified by 'redhat';
输入如上语句,即开放了192.168.1.104ip所对应的主机对该数据库的访问权限,当然实际中肯定不会将root用户的全部权限释放个一个固定ip,这里只是在内网的一个简单测试。

3.mariadb如何插入中文

我数据库的所在的操作系统是:

Red Hat Enterprise Linux Server release 7.1 (Maipo)
需要修改如下文件,即可对数据库插入中文,原理上就是让客户端,服务端的字符集都变成utf-8即可。

/etc/my.cnf

[mysqld]
init_connect='SET NAMES utf8'
character-set-server=utf8
/etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8
/etc/my.cnf.d/client.cnf

[client]
default-character-set=utf8
将这三处修改之后,重启数据库服务,在这之后创建的数据库(create database *)都可以插入中文啦,但是之前的数据库如果也想支持,需要进行一点修改,如下
ALTER DATABASE `databases_name` COLLATE 'utf8_bin';
如果这样设置之后,您的数据库还是不可以插入中文,那就要考虑下其他的编码,比如终端的编码,我使用的是xshell终端编码如下








  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值