Ubuntu 12.04 安装 配置 访问MySQL

使用apt-get方式安装,并没有采用自己安装再更改各种配置的方法,太麻烦了,如果想自己安装再改配置的话,下面两篇文章很值得参考:

http://blog.csdn.net/xianqiang1/article/details/8121446

http://www.haogongju.net/art/1489854

lz只是图省事而已,其实最好是自己安装一下,好弄个清楚明白,下面介绍lz的傻瓜级安装配置过程:

安装配置MySql

1、安装mysql-server和mysql-workbench,命令如下:

sudo apt-get install mysql-server

sudo apt-get install mysql-workbench

这里要说明的是现在网上或书上的好多安装教程都还是要安装mysql-admin和mysql-query-browser,但现在已经不用了,只需安装mysql-server即可,同时mysql-admin也会被默认安装上,而mysql-query-browser的使命已经交给了mysql-workbench这个非常方便的前端管理器了,对mysql的一般性操作workbench足以胜任,反正lz是一直用workbench的,没有用那个蛋疼的mysql-admin。

安装mysql-server过程中会提示输入root用户的密码,这个在windows上安装时也有的,应该不陌生,但是却没有让你指定数据库的默认字符集,这个在windows上安装时是有的,这样可以提前避免一些中文支持的问题,但是在ubuntu上安装时却没有提供这个选项,这样的话安装之后mysql是肯定不能支持中文的,不过这个问题也好解决,继续往下看吧。

2、解决中文支持问题

(1)更改mysql自身配置以支持中文:

ubuntu下mysql的配置文件为/etc/mysql/my.cnf,打开后,

在[client]段下添加:

default-character-set = utf8 

在[mysqld]段下添加:

character_set_server = utf8 

init_connect = 'SET NAMES utf8'

在[mysql]段下添加:

default-character-set = utf8

在[mysqld_safe]段下添加:

default-character-set = utf8

重启mysql后就能够支持中文了,重启命令为:

sudo /etc/init.d/mysql restart

可以在mysql下通过命令show variables like 'character%' 确认一下修改结果,如果显示如下内容,说明修改成功:

+--------------------------------------+--------------------------------------+
| Variable_name                        | Value                                        |
+--------------------------------------+--------------------------------------+
| character_set_client               | utf8                                             | 
| character_set_connection     | utf8                                            | 
| character_set_database        | utf8                                            | 
| character_set_filesystem       | binary                                        | 
| character_set_results             | utf8                                            | 
| character_set_server              | utf8                                            | 
| character_set_system             | utf8                                            |  
| character_sets_dir                   | /usr/share/mysql/charsets/    | 
+--------------------------------------+--------------------------------------+

(2)如果使用C语言访问MySql数据库的话,还要在代码中设置字符集以支持中文:

使用下面的函数解决问题

int mysql_set_character_set( MYSQL * mysql, char * csname)
返回值为0表示成功,非0值表示出现错误。 
比如可以像下面的代码片段:

if (mysql_set_character_set(&my_connection, "utf8")) {
	fprintf(stderr, "Set character set error %d: %s\n", mysql_errno(&my_connection), mysql_error(&my_connection));
}

好了,现在可以用workbench进行熟悉的操作了,界面和windows下一模一样啊。

傻瓜教程结束,下面介绍在ubuntu下用C语言访问MySql数据库的方法。


用C语言访问MySql数据库

1、首先安装开发包,命令如下:

sudo apt-get install libmysqlclient-dev

这个是必不可少的,一定要安装的。

2、下面是测试用的代码,文件名为test.c:

#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>

int main(void) {
	MYSQL my_connection;
	mysql_init(&my_connection);
	if (mysql_real_connect(&my_connection, "localhost", "root", "root", "student", 3306, NULL, 0)) {
		printf("Connection success\n");
		mysql_close(&my_connection);
	} else {
		fprintf(stderr, "Connection failed\n");
		if (mysql_errno(&my_connection)) {
			fprintf(stderr, "Connection error %d: %s\n", mysql_errno(&my_connection), mysql_error(&my_connection));
		}
	}
	return EXIT_SUCCESS;
}

其中student是lz测试用的数据库,3306是默认访问端口,root既是用户名也是密码。

3、编译代码,命令如下:

gcc -I/usr/include/mysql test.c -L/usr/lib/mysql -lmysqlclient -o test

其中/usr/include/mysql为头文件mysql.h所在的目录,而/usr/lib/mysql是对应的库文件mysqlclient所在的目录,这个选项是链接时是要用到的。

lz是用eclipse进行开发的,这就要在eclipse中进行一些设置,右击项目文件夹,对Propertites->C/C++Build->Settings->Tool Settings的GCC C Complier中的Includes和GCC C Linker的Libraries进行配置,添加相应的编译和链接选项信息,如下面两张图:




4、运行代码:

./test

访问成功时输出Connection success

访问失败时输出Connection failed以及相应的错误码和错误原因


这样就可以访问数据库了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值