ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redhat6.5部署python爬虫项目——mysql(四)

2021-04-26 16:01:35  阅读:200  来源: 互联网

标签:5.7 python my cnf -- mysql redhat6.5 rpm


安装mysql及遇到的问题:

1、下载安装

// 检查是否有mysql
rpm -qa|grep mysql

// 如果不想用此版本可以卸载
rpm -e --nodeps mysql-libs-xxxxx

//下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar

// 解压
tar -xf mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar

cd mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar

按顺序安装:

rpm -ivh mysql-community-common-5.7.12-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm --force --nodeps

rpm -ivh mysql-community-devel-5.7.12-1.el6.x86_64.rpm --force --nodeps

rpm -ivh mysql-community-client-5.7.12-1.el6.x86_64.rpm --force --nodeps

rpm -ivh mysql-community-server-5.7.12-1.el6.x86_64.rpm --force --nodeps

2、启动mysql并配置:

// 启动mysql
service mysql start


// 登录root账号,初次登录密码为空
mysql -u root -p

如果此时报错。需要密码的话,就要去修改mysql配置文件 :

vim /etc/my.cnf,在文件末尾加上:skip-grant-tables 。然后把保存重启,再次登录。

修改密码:

mysql> use mysql

mysql> update user set password_expired='N' where user='root'; 

mysql> update user set authentication_string=password('root') where user=‘root';

mysql> flush privileges;

然后再去编辑 my.cnf文件,一是去掉之前的 skip-grant-tables ,二是在 client 下加上 default-character-set=utf8 。因为不加的话会出现中文乱码的情况!!!

 

补充:

一、数据库中文乱码:

启动mysql,输入 show variables like '%char%'; 如果看到character_set_database 和character_set_server 等不是utf-8。这就是中文乱码原因。

关闭mysql,修改 /etc/my.cnf文件, 如果没有找到my.cnf文件,就从 /usr/share/mysql/ 中将 my-meduim.cnf 复制到  /etc/  下并重命名为 my.cnf。

// 拷贝文件
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf


vim /etc/my.cnf


// client下加入这行代码
default-character-set=utf8

重启服务,查看数据库的编码情况

mysql restart;



show variables like '%char%';

二、防火墙及端口问题:

在本地navicat向服务器远程连接数据库时失败。

先在本地向服务器ping一下,如果通则接下来操作。如果不通看下服务器的防火墙是否关闭。

然后检查服务器上mysql的默认端口3306是否开放,我连接不上因为端口未打开。

show variables like '%port%';

打开防火墙端口:

// 查看防火墙状态
service iptables status


//编辑防火墙文件
vim /etc/sysconfig/iptables

// 在文件中加入代码
A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

//重启防火墙
service iptables restart

端口打开也会连接失败,因为一般mysql是不允许除了本机用户以外的用户进行访问的,所以需要给特定ip的用户开放权限,通过这个用户去访问连接。

创建账户及权限;

create user 'cnki_test'@'%' identified by '123456';
grant all on *.* to 'cnki_test'@'%';
flush privileges;

然后,再用navicat连接服务器mysql数据库就可以成功。

后续遇到问题接着补充!

标签:5.7,python,my,cnf,--,mysql,redhat6.5,rpm
来源: https://blog.csdn.net/snow_f/article/details/116156413

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有