ubuntu下mysql的安装、配置

参考来源:http://www.linuxidc.com/Linux/2013-01/78723p2.htm


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

  1. http://www.linuxidc.com/Linux/2013-01/78716.htm
  2. http://www.linuxidc.com/Linux/2012-06/62458.htm

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

安装配置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所在的目录,这个选项是链接时是要用到的。

4、运行代码:

./test

访问成功时输出Connection success

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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值