Centos7+mysql57+python3安装过程中踩过的坑
说明: 为了练习Django项目,准备在虚拟机中安装Centos7+mysql57+python3。在windows环境下通过Navicat连接数据库进行开发,但是安装过程中可谓是一波三折。最常见的问题是,安装mysql后,无法远程连接报错2003等,在网上查阅了许多资料不知为何总是不见效果,在尝试了多个夜晚后总算解决了。现将步骤记录如下,不保证可以解决你的问题,如何你也遇到相同的问题可以参考一下(2020/6/17)
(后期我准备用python+Django做一个完整的博客项目,有感兴趣的可以关注一下呦!!!)
-
虚拟机中安装Centos7,我采用的是Minimal版下载地址这样体积小一点,当需要什么功能的时候再进行安装(安装过程不再赘述)。
-
安装好后登录用root登录。
-
连接网络
使用# ip addr
查看IP,此时用ping
命令也会报错
命令:# vi /etc/sysconfig/network-scripts/ifcfg-ens33
打开配置文件,将ONBOOT=no
改为ONBOOT=yes
保存退出
重启网络服务:# service network restart
再次使用# ip addr
查看IP
4. 安装mysql57
- 使用
# yum -y install wget
安装wget命令 - 下载并安装Yum Repository
- 下载
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- 安装
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
- 安装mysql(会耗费一些时间)
[root@localhost ~]# yum -y install mysql-community-server
- MySQL数据库设置
- 启动MySQL
[root@localhost ~]# systemctl start mysqld.service
- 查看MySQL 运行状态
[root@localhost ~]# systemctl status mysqld.service
- 查找MySQL的root密码
[root@localhost ~]# grep "password" /var/log/mysqld.log
红色部分为密码,注意大小写和符号
- 登录Mysql
[root@localhost ~]# mysql -uroot -p
- 输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
(输入的密码必须满足复杂度要求,至少8位+大小写+数字)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
exit
退出mysql- 设置MySQL字符为
utf8
# vi /etc/my.cnf
增加:character-set-server=utf8
- 重启MySQL服务,并使用新的密码登录
重启:# systemctl restart mysqld.server
登录:# mysql -uroot -p
- 开启mysql的远程访问:
执行以下命令开启远程访问限制(注意:下面命令开启的IP是所有的,如果指定IP,可以将%替换成指定IP,这里的密码就是root登陆MySQL的密码):
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
- 然后输入
flush privileges;
exit
- 为firewalled添加开放端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 重新载入
[root@localhost ~]# firewall-cmd --reload
- 重点来了,重点来了,重点来了,重要的事说三遍
- 使用Navicat登录mysql报错
- 使用Sqlyog登录报错
- 使用windows的cmd登录报错
- 此时使用
ip addr
查看网络连接
- 发现网络连接断开了
重启网络服务:# service network start
重启mysql服务:# systemctl restart mysqld.service
查看mysql状态:# systemctl status mysqld.service
9.再次登录MySQL测试 - Navicat登陆成功(如果不行就多重启几次网络)
- SQLyog登录成功
- windows使用cmd登录成功
- 总结
之前尝试很多解决2003问题的方法,结果都没有作用,无意之间发现网络设置断了,重启网络后竟然可以连接了,让我喜出望外。可能我的方法不一定可以解决你的无法连接的问题,但至少是一种尝试,希望我的方法可以解决你的问题!
安装python3
更换yum源为国内的阿里云yum源
备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 添加EPEL
CentOS 6
wget -O /etc/yum.repos.d/epel-6.repo http://mirrors.aliyun.com/repo/epel-6.repo
CentOS 7
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 清理缓存并生成新的缓存
yum clean all
yum makecache
安装python3.6.4
- 在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装):
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
- 从官网上下载Python源码包
[root@localhost~] wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
- 但是下载过程会非常的慢,如何你不介意可以慢慢等,你也可以使用浏览器或者idm将Python-3.6.4.tgz的源码包下载下来后,通过sftp上传到centos7上进行安装。
- 解压文件
# tar -xvf Python-3.6.4.tgz
- 将包安装在/usr/local/Python3(具体安装位置看个人喜好,通过mkdir创建目录)
# mkdir -p /usr/local/python3
- 进入解压后的文件目录
# cd Python-3.6.4
- 安装gcc编译器
[root@localhost Python-3.6.4]# yum -y install gcc
- 配置
# ./configure --prefix=/usr/local/python3
- 漫长的编译过程 😒 😒 😒
make
- 安装 😒 😒 😒
make install
- 做软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
- 设置pip软连接
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
- 测试是否安装成功
python3 -V
- 因为yum源使用的Python2,替换为Python3以后,会导致其无法正常工作。需要修改以下信息:
vi /usr/bin/yum
修改前:
修改后:
测试安装vim:
yum -y install vim
升级pip
pip3 install --upgrade pip