欢迎投稿

今日深度:

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

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


概述:
在学习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终端编码如下








www.htsjk.Com true http://www.htsjk.com/mariadb/27881.html NewsArticle mariadb的python连接,远程连接,字符编码问题总结,mariadbpython 概述: 在学习python web的时候数据库和python的连接是一个很重要的地方,但是在windows安装mariadb的时候遇到了一些问题,最终...
相关文章
    暂无相关文章
评论暂时关闭