一 源码包安装
(1)python3.6源码包安装
./configure ------> 定制功能
make
make install
mysql 源码包
cmake
make
make install
(2) redis 源码包安装
make
修改环境变量
vim /etc/profile
添加以下一行:
export PATH=/opt/redis-3.2.10/src:$PATH
生效配置
source /etc/profile
(3) 让python链接redis
unzip redis-py-master.zip
cd redis-py-master
python3 setup.py install
对redis的单实例进行连接操作
python3
>>>import redis
>>>r = redis.StrictRedis(host='localhost', port=6379)
>>>r.set('name', 'oldguo')
True
>>>r.get('name')
'oldguo'
二 经典互联网架构项目
三 二进制包mysql(mysql5.7.20)
3.1 解压及制作软连接
tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql
3.2 编辑环境变量
在根目录'/'下的etc文件
vim /etc/profile
在文件最后一行,添加以下一行:
export PATH=/opt/mysql/bin:$PATH
生效配置:
source /etc/profile
3.3 卸载centos自带mariadb
yum remove mariadb-libs
3.4 生成配置文件(/etc/my.cnf)
vim /etc/my.cnf
---------------------------------
[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
user=mysql
log_error=/var/log/mysql.log
log_bin=/opt/mysql/data/mysql-bin
server_id=100
[mysql]
socket=/tmp/mysql.sock
----------------------------------
3.5 创建用户和数据目录,并授权
1.创建一个用户
useradd mysql
mkdir /opt/mysql/data
2.授权
chown -R mysql.mysql /opt/mysql
3.6 初始化数据
[root@python3 ~]# mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql
2019-01-04T03:58:03.128958Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-01-04T03:58:03.142436Z 0 [ERROR] Could not open file '/var/log/mysql.log' for error logging: Permission denied
2019-01-04T03:58:03.142492Z 0 [ERROR] Aborting
报错解决:
touch /var/log/mysql.log
给权限:
chown -R mysql.mysql /var/log/mysql.log
再次初始化:
mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql
3.7 启动mysql,切换到启动文件所在的文件夹
cd /opt/mysql/support-files
执行下面命令启动mysql
./mysql.server start
为了启动方便将启动文件拷贝到/etc下的配置文件
cp mysql.server /etc/init.d/mysqld
启动mysql用start,restart都可以
/etc/init.d/mysqld restart
扩展:使用systemctl 管理mysql,写入下面文件就可以用systemctl来启动mysql
vim /etc/systemd/system/mysqld.service
-----------------------------------------------------------------
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
-------------------------------------------------------------------------------
启动mysql
systemctl restart mysqld
关闭mysql
systemctl stop mysql
查看mysql的端口
netstat -tulnp |grep 3306
查看mysql软件是否启动
netstat -lnp | grep mysql
如果修改配置文件需要:
systemctl daemon-reload
3.8 测试python3链接mysql
创建mysql链接用户
授权用户
grant all on *.* to root@'10.0.0.%' identified by '123';
create database bbs charset utf8;
python代码测试:
更新pip
pip3 install --upgrade pip
安装python连接包
pip3 install pymysql
测试脚本
vim testmysql.py
----------------------------------------------------------
#!/usr/bin/python3
import pymysql
db = pymysql.connect("10.0.0.100","root","123","bbs" )
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()
----------------------------------------------------------
python3 testmysql.py