asp.net + mysql + ubuntu + git + git@osc 项目历程

项目环境: asp.net + mysql

不想在PC上安装mysql, 直接使用之前在 Ubuntu 上安装好的Mysql数据库.本文主要会列出在开发过程中遇到的问题,拿出来给大家分享。

至于安装就不多说,可参考:CentOS7 + Apache2.4 + Mysql5.5 + PHP5.5


问题:


Unable to connect to any of the specified MySQL hosts

#/etc/mysql/my.cnf
#bind-address	= 127.0.0.1  #这行注释掉


场景:宿主机访问虚拟机中的mysql,

安装配置可参考: http://www.2cto.com/database/201305/210279.html

Authentication to host 'xxx' for user 'xx' using method 'mysql_native_password' failed with message: Access denied for user 'xx'@'xxxx' (using password: YES)

解决方法参考:

http://stackoverflow.com/questions/22510457/reference-mysql-connector-net-authentication-to-host-using-method-mysql-native


其实最终发现自己犯的是比较低级的错误:在给远程用户赋权限的时候 

>grant all privileges on mydb.* to [email protected] identified by 'mypqd' with grant option;
>FLUSH PRIVILEGES;

[email protected]这里@之后的ip是你自己的ip(即:远端ip)



Mysql使用存储过程的例子:

http://database.51cto.com/art/201010/229242.htm

#选择要操作的数据库
mysql> use test;  
Database changed 
#建表
mysql> create table Usr(  
-> id int primary key auto_increment,  
-> name nvarchar(10) not null 
-> );  
Query OK, 0 rows affected (0.20 sec)

#很重要,更改mysql的结束符.
mysql> create procedure proc_test(IN uid int, OUT person_name varchar(10))  
-> begin  
-> select * from test.Usr where id = uid and name=person_name;
-> end  
-> $  
Query OK, 0 rows affected (0.00 sec)

 这里为了强调 更改mysql的结束符才把这段贴出来,因为当时我没有改,所以所以当在写完查询时就开始提交了,结果就错了:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3


mysql 添加默认值:

create table tablename (columnname datatype default defaultvalue); #建表时
alter table tablename alter column columnname set default defaultvalue; #已建表修改


为了团队之间更好的合作,决定使用git来管理项目,但是github上要么开源,要么收费。决定将项目托管在开源中国(oschina, 支持国产啊,希望越来越好)

安装并配置git,就不多说了,官方最权威,自己点进去看.

安装配置后,其实如果对于我们菜鸟来说,还有会存在一下问题,比如:

1:端口问题 (error: Failed connect to git.oschina.net:443-用https / 80用https )

2:权限问题

要注意的是个人SSH key 和 部署SSH key.

还是简单的来讲下生成过程吧.

生成sshkey:

ssh-keygen -t rsa -C  #Create a new ssh key useing the privided email

查看public key:

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

个人ssh key是为了管理个人权限而配置,在个人资料中设置.

部署publish key为了部署项目而配置的,在项目管理中设置.

设置完key,我们在终端(Terminal)来查看下成功没有:

ssh -T .oschina.net
Welcome to , xxxx!

恭喜,可以往下进行了:

  1. 打开Git  Bash,将目录切换到你的项目所在的文件夹-

  2. 运行命令 git init .   注意后面有一个点

  3. 运行命令 git pull [email protected]:xxxx/Demo.git 

  4. 运行命令  git add -A .  注意后面有一个点

  5. 运行命令  git commit -am "对代码的有关说明"

  6. 运行命令  git push [email protected]:xxxxxxx/Demo.git  master

$ git push  master
Counting objects: 100, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (91/91), done.
Writing objects: 100% (99/99), 1.44 MiB | 2.42 MiB/s, done.
Total 99 (delta 32), reused 0 (delta 0)
To 
   01354cc..41821a0  master -> master

很棒,我们成功了!

另外说一下:

========================================


在windows中使用git时有可能会出现:warning: LF will be replaced by CRLF, windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法::

$ rm -rf .git  // 删除.git  
$ git config --global core.autocrlf false  //禁用自动转换

然后重建:

$ git init 
$ git add .

 这一点是来自:unity的技术博客

========================================


你可能感兴趣的:(Web,git,Authentication,开源中国)