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

ubuntu 14.04 Python 配置MySQL

2016-11-14 23:49 218 查看
首先 Ubuntu拥有root权限

其次安装git

因此对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。

在简单地了解了Git之后,那么接下来的事情就是安装Git客户端了,命令如下:

sudo apt-get install git


但是,安装了Git客户端之后,如果你的代码不是托管在GitHub上就可以跳过设置GitHub账户内容了,否则还需要配置一下GitHub账户,GitHub为托管的Git版本库提供SSH协议支持,即用户可以用公钥认证的方式连接到GitHub的SSH服务器。设置之后才能够使用Git命令来下载和推送代码。

首先需要到https://github.com/ 注册一个账户:只要点击导航条中的“Signup and Pricing”,或者点击首页中那个大大的“Plans, Pricing and Signup”按钮,即进入收费方案介绍及注册页面。开源软件托管是GitHub的基石,对于开源项目的版本库(即非私有版本库)的托管,GitHub是免费的。在收费方案及注册页面中,最上面的就是针对于开源的免费托管方案,如下图所示。



点击上图右侧的“Create a free account”按钮,就进入到注册页面,如下图所示。



注册只需要用户名,邮件地址和密码需要输入。注意:每个邮件地址只能注册一次。注册完成之后就会以新注册的账号自动登录。如下图所示:



点击上图右上角的设置按钮,就能进入设置页面,我们主要关注的是“ setting up Git and SSH keys”,设置成功之后用户可以用公钥认证的方式连接到GitHub的SSH服务器。

我们首先使用ssh命令连接github.com的SSH服务,登录用户名为git(所有GitHub用户共享此SSH用户名,不要写成其他)。

ssh -T git@github.com 执行之后提示:Permission denied (publickey).


这说明我们还没在GitHub账户中正确设置公钥认证。下图为GitHub的SSH公钥设置界面:



GitHub的SSH服务支持OpenSSH格式的公钥认证,可以通过Ubuntu下的ssh-keygen命令创建公钥/私钥对。

ssh-keygen -C "yourname@yourcompany.com" -f ~/.ssh/github


也可以用ssh-keygen命令以不同的名称创建多个公钥,当拥有多个GitHub账号时,非常重要。这是因为虽然一个GitHub账号允许使用多个不同的SSH公钥,但反过来,一个SSH公钥只能对应于一个GitHub账号。

接下来就将~/.ssh/github.pub文件内容拷贝到剪切板。公钥是一行长长的字符串,若用编辑器打开公钥文件会折行显示,注意在copy时一定不要在其中插入多余的换行符、空格等,否则在公钥认证过程因为服务器端和客户端公钥不匹配而导致认证失败。然后将公钥文件中的内容粘贴到GitHub的SSH公钥管理的对话框,即上图key对话框中,并为这个SSH
Key起个名字并保存。设置成功后,再用ssh命令访问GitHub,会显示一条认证成功信息并退出。在认证成功的信息中还会显示该公钥对应的用户名。

ssh -T git@github.com 执行后提示:Hi github! You've successfully authenticated, but GitHub does not provide shell access.


通过以上的设置之后,我们就能够通过SSH的方式,直接使用Git命令访问GitHub托管服务器了。那么,下面我们就开始使用Git进行版本控制:

1. 从服务器下载代码,准确的说应该是从GitHub服务器复制一个版本库到本地:

mkdir gitmkdir repos cd git/repos git clone git@github.com:"account context"/"repos name".git


2. 获取到源码之后,就可以进行开发了,代码开发完成就可以提交代码:

git add .    //往暂存区域添加已添加和修改的文件,不处理删除的文件 git status //比较本地数据目录与暂存区域的变化 git commit -m "commit directions" //提到代码到本地数据目录,并添加提交说明


3. 有可能你和其他人改的是同一个文件,那么冲突的情况是在所难免的,那么在提交之后再获取一下代码,就会提示代码冲突的文件,我们需要做的就是处理这些冲突,并再次提交:

git pull //更新代码 根据提示修改冲突文件中的代码 git add . git commit -m "commit directions"


4. 当你做完以上的步骤的时候,你需要做的是把本地数据目录的版本库的数据同步到GitHub服务器上去,这样你的同事才能够看到你作出的修改:

git push


注意:""中的内容需要读者根据自己实际情况书写合适的内容。

然后安装mysql

ubuntu上安装mysql非常简单只需要几条命令就可以完成。

  1. sudo apt-get install mysql-server
 
  2. apt-get isntal
10b1e
l mysql-client

 
  3.  sudo apt-get install libmysqlclient-dev

 

  安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

 

  sudo netstat -tap | grep mysql
 
  通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
 
  登陆mysql数据库可以通过如下命令:
 
  mysql -u root -p 
 
  -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
 
  


 
  然后通过 show databases; 就可以查看当前的数据库。
  我们选择 mysql数据库就行下一步操作,使用use mysql 命令,显示当前数据库的表单:show tables 

接着安装setup.py

Git clone
git@github.com:mysql/mysql-connector-python.git
cd mysql-connector-python
python setup.py install

最后测试数据库

查看数据库版本 sql-> status; 
1、net start mysql //启动mysql服务 
2、net stop mysql //停止mysql服务  
3、mysql -h主机地址 -u用户名 -p用户密码 //进入mysql数据库 
4、quit //退出mysql操作 
5、mysqladmin -u用户名 -p旧密码 password 新密码 //更改密码 
6、grant select on 数据库.* to 用户名@登录主机 identified by "密码" //增加新用户 
exemple: 
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。 
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 
如果你不想test2有密码,可以再打一个命令将密码消掉。 
grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 

二、数据库操作 
1、show databases; //列出数据库 
2、use database_name //使用database_name数据库 
3、create database data_name //创建名为data_name的数据库 
4、drop database data_name //删除一个名为data_name的数据库 

三、表操作 
1、show databases;//列出所有数据库 

use 数据库名; //到达某一数据库 

show tables //列出所有表 
create table tab_name( 
id int(10) not null auto_increment primary key, 
name varchar(40), 
pwd varchar(40) 
) charset=gb2312; 创建一个名为tab_name的新表 
2、drop table tab_name 删除名为tab_name的数据表 
3、describe tab_name //显示名为tab_name的表的数据结构 
4、show columns from tab_name //同上 
5、delete from tab_name //将表tab_name中的记录清空 
6、select * from tab_name //显示表tab_name中的记录 
7、mysqldump -uUSER -pPASSWORD --no-data DATABASE TABLE > table.sql //复制表结构 

四、修改表结构 
1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name) 
说明:更改表得的定义把某个栏位设为主键。 
2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name) 
说明:把主键的定义删除 
3、 alter table tab_name add col_name varchar(20); //在tab_name表中增加一个名为col_name的字段且类型为varchar(20) 
4、alter table tab_name drop col_name //在tab_name中将col_name字段删除 
5、alter table tab_name modify col_name varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据 
SQL Server200下的写法是:Alter Table table_name Alter Column col_name varchar(30) not null; 
6、如何修改表名:alter table tab_name rename to new_tab_name 
7、如何修改字段名:alter table tab_name change old_col new_col varchar(40); //必须为当前字段指定数据类型等属性,否则不能修改 
8、create table new_tab_name like old_tab_name //用一个已存在的表来建新表,但不包含旧表的数据 

五、数据的备份与恢复 
导入外部数据文本: 
1.执行外部的sql脚本 
当前数据库上执行:mysql < input.sql 
指定数据库上执行:mysql [表名] < input.sql 
2.数据传入命令 load data local infile "[文件名]" into table [表名]; 
备份数据库:(dos下) 
mysqldump --opt school>school.bbb 
mysqldump -u [user] -p [password] databasename > filename (备份) 
mysql -u [user] -p [password] databasename < filename (恢复) 

六、卸载 
卸载mysql:sudo apt-get remove mysql-server mysql-client 
sudo apt-get autoremove

.登录MySQL:mysql -uroot -p (用root账户登录),然后输入密码;
3.查看所有的数据库名字:show databases;
4.选择一个数据库操作: use database_name;
5.查看当前数据库下所有的表名:show tables;
6.创建一个数据库:create database database_name;
7.删除一个数据库:drop database database_name;
8.创建一个表: create table mytest( uid bigint(20) not null, uname varchar(20) not null);
9.删除一个表: drop table mytest;
10.SQL插入语句:insert
into table_name(col1,col2) values(value1,value2);
11.SQL更新语句:update
table_name set col1='value1',col2='value2' where where_definition;
12.SQL查询语句:select
* from table_name where.......(最复杂的语句)
13.SQL删除语句:delete
from table_name where...
14.增加表结构的字段:alert table table_name add column field1 date ,add column field2 time...
15.删除表结构的字段:alert table table_name drop field1;
16.查看表的结构:show columns from table_name;
17.limit 的使用:select * from table_name limit 3;//每页只显示3行
select * from table_name limit 3,4 //从查询结果的第三个开始,显示四项结果。
此处可很好的用来作分页处理。
18.对查询结果进行排序: select * from table_name order by field1,orderby field2;多重排序
19.退出MySQL:exit;

测试代码

import mysql.connector

conn = mysql.connector.connect(user='root', password='123456', database='test',use_unicode=True)

#conn=mysql.connector.connect(name='root',passsword='123456',database='test',use_unicode=True)

cursor=conn.cursor()

cursor.close()

conn.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python MySQL Ubuntu