项目环境: 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!
恭喜,可以往下进行了:
打开Git Bash,将目录切换到你的项目所在的文件夹-
运行命令 git init . 注意后面有一个点
运行命令 git pull [email protected]:xxxx/Demo.git
运行命令 git add -A . 注意后面有一个点
运行命令 git commit -am "对代码的有关说明"
运行命令 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的技术博客
========================================