项目环境: 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!
恭喜,可以往下进行了: