您的位置:首页 > 编程语言 > Python开发

cenos上面python3及mysql的安装

2020-02-17 04:24 309 查看

近日在腾讯云上面购买了学生服务器, 版本为Linux VM_0_4_centos 3.10.0-957.21.3.el7.x86_64
其自带的python为python2,python2与python3变化太大,所以需要我手动安装py3,而且不能卸载py2,因为centos系统内需要python2环境.
现在来记录安装的过程

python3的安装

参考博客地址 在新安装的Centos中安装python3.7 解决pip和yum问题

目前目录在 /root

  1. 安装需要的依赖
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel libffi-devel tk-devel gcc make
  1. 下载源码包, 下载地址!(https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz)
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
# wget是一个下载文件的工具 wget [选项]... 参考博客" target=_blank>...
[/code]
  1. 解压源码,我解压的位置是/usr/local
tar -zxvf Python-3.7.0.tgz -C /usr/local
# -z, --gzip, --gunzip, --ungzip   filter the archive through gzip 指定解压引擎为gzip
# -x, --extract, --get       extract files from an archive 解压
# -f, --file=ARCHIVE         use archive file or device ARCHIVE 后面接要处理的文件
# -v, --verbose              verbosely list files processed 详细列出已处理的文件
# -C, --directory=DIR        change to directory DIR 后接解压后的文件放置位置
  1. 进入python文件夹,执行下列语句
cd Python-3.7.0/
./configure  # 用于生成 makefile文件(猜测,不确定)
make&&make install
# ./configure - 用于生成 makefile文件(猜测,不确定)
# make - 根据Makefile文件编译源代码、连接、生成目标文件、可执行文件。
# make install - 将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录。

之前这一步我会出现 _ctypes not found错误,但是这一次没出现,如果又出现的可以查看[url=https://blog.csdn.net/u013214212/article/details/81540840]参考博客
结束后可以执行以下语句测试,如果成功会出现python命令行,其中包含python版本号

/usr/local/bin/python3
  1. 为python3添加软链接
ln -s /usr/local/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/python3 /usr/bin/py3

这样可以直接使用

python3
或者
py2
执行python命令
如果想用python语句执行pyton3而不是python2,可以使用以下软链接设置(我就不设置了, py3已经够方便了)

mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
  1. 设置pip3软链接
    执行
    pip -version
    语句发现出现的是python2
    执行以下语句:
ln /usr/bin/pip /usr/bin/pip2
ln /usr/local/bin/pip3 /usr/bin/pip
  1. yum
    如果之前吧python软链接到了python3,那么yum就使用不了了…
    当然可以改,将指向python的改为指向python2.7就行.
vim /usr/libexec/urlgrabber-ext-down

#! /usr/bin/python
改为
#! /usr/bin/lpython2.7
,即改为目前python2的软链接
执行

vi /usr/bin/yum

执行成功.(我没试,因为我没改python…)

安装mysql

参考博客地址 [url=https://www.cnblogs.com/123hll/p/9633422.html]centos中mysql 安装以及配置,建库

  1. 检测系统内部是否安装其他mysql库
rpm -qa|grep mysql

有的话删除这些mysql

yum remove 查出来的名字
  1. 彻底删除系统中mysql目录(我不知道为什么===)
find / -name mysql
rm -rf 上一条命令查到的路径
#  -f, --force    忽略不存在的文件,从不给出提示
#  -r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。
# rm -rf /* 很可怕,会强制删除系统内所有内容且不能恢复,小心~
  1. 下载mysql的rpm包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

如果网络不稳定可用

-c
参数,继续下载未完成的文件

  1. 安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
yum install -y mysql-community-server

测试

mysql -V

显示版本则成功

后记

我前几天是已经安装过一次的,但是下载python和mysql 的时候网速及其慢,再加上一些不能理解的错误,导致那个时候心情非常暴躁(当然没有对外),心情不愉快同时浪费了很多时间. 回去睡一觉 然后现在重装了一次云服务器再次安装,并且一步一步耐心来,同时记录博客,也就是现在,过程出人意外的非常顺利,没有什么不能解决的错误发生, 大概花费一个半小时完成这些东西的安装.

电脑这种生物终究不是我这种小渣渣能够掌控的, 我能做的也只有和那个渺小且无知的自己和解.

但是没关系,会变好的.

0816补充

由于前段时间一直在学前端,云上的mysql安装后就没动,今日运行mysql,发现无法成功,现记录解决问题过程

  1. Can’t connect to MySQL server on ‘127.0.0.1’ (111)
    SOF:

“It probably means that your MySQL server is only listening the localhost interface.
If you have lines like this :

bind-address = 127.0.0.1

In your my.cnf configuration file, you should comment them (add a # at the beginning of the lines), and restart MySQL.
sudo service mysql restart

Of course, t 1e92c o do this, you must be the administrator of the server.”

# 配置文件的查找
[root@VM_0_4_centos ~]# which mysql
/usr/bin/mysql
[root@VM_0_4_centos ~]# /usr/bin/mysql --verbose --help | grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
  1. Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
    SOF:

"Are you connecting to “localhost” or “127.0.0.1” ? I noticed that when you connect to “localhost” the socket connector is used, but when you connect to “127.0.0.1” the TCP/IP connector is used. You could try using “127.0.0.1” if the socket connector is not enabled/working.
"

是的,如果localhost不能用就用127.0.0.1, 如果127.0.0.1不能用就用localhost,如果两个都没用,那就是mysql没启动吧

  1. Access denied for user ‘root’@‘localhost’ (using password: YES)

密码错误:

  • 停止mysql
  • 修改登录设置
    vi /etc/my.cnf

    在[mysqld]的段中加上一句:
    skip-grant-tables
    保存并且退出vi。
  • 登录mysql
  • mysql 5.7:
    update user set authentication_string = password('password') where user='root';
    修改密码
  • 重启mysql
    service mysqld start
  • 删除
    skip-grant-tables

service mysqld restart 报错 Redirecting to /bin/systemctl restart mysqld.service:

systemctl restart mysqld.service
systemctl start mysqld.service
systemctl stop mysqld.service
  • 点赞 3
  • 收藏
  • 分享
  • 文章举报
子狼 发布了7 篇原创文章 · 获赞 10 · 访问量 415 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: