奇忠诚 发表于 2018-9-17 13:49:05

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.iyunv.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 myusr@192.168.20.117 identified by 'mypqd' with grant option;  
>FLUSH PRIVILEGES;
  myusr@192.168.20.117这里@之后的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!
  恭喜,可以往下进行了:

[*]  打开GitBash,将目录切换到你的项目所在的文件夹-
[*]  运行命令 git init .   注意后面有一个点
[*]  运行命令 git pull git@git.oschina.net:xxxx/Demo.git
[*]  运行命令git add -A .注意后面有一个点
[*]  运行命令git commit -am "对代码的有关说明"
[*]  运行命令git push git@git.oschina.net:xxxxxxx/Demo.gitmaster
$ git pushmaster  
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..41821a0master -> 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的技术博客
  ========================================


页: [1]
查看完整版本: asp.net + mysql + ubuntu + git + git@osc 项目历程