Ubuntu下安装配置MySQL及MySQL++

(1)安装MySQL

$ sudo apt-get install mysql-server

(2)配置MySQL
$ mysql -p -u root
如果出现error: 'Access denied for user 'root'@'localhost'错误,则进行以下步骤:
$ sudo /etc/init.d/mysql stop
$ sudo mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
$ sudo /etc/init.d/mysql start
$ mysql -p -u root
mysql> use mysql
mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';
mysql> flush privileges;
mysql> quit;
$ sudo /etc/init.d/mysql restart

因为MySQL默认不支持远程访问,所以要设置一下:
1.先确认一下3306是否对外开放,mysql默认状态下是不开放对外访问功能的。查看的办法如下:
$ netstat -an | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
从上面可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改的办法其实很简单,进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)下,找到文件中的如下内容:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address  = 127.0.0.1
将bind-address注释掉,或者改成你想要使用的客户端主机IP。
这样mysql的远程访问端口就算开启了,下面还有一个更重要的步骤,就是要给远程用户授权。
2.确认客户端用户是否具有访问权限。为了让访问mysql的客户端的用户有访问权限,我们可以通过如下方式为用户进行授权:
mysql> grant all on *.* to 'root'@'%' identified by 'user_password';
上面的命令授予的用户权限可以访问mysql中的任意数据库(database)和表(table)。
完成上面的两个步骤,重启mysql即可在远程登陆mysql服务器了。Mysql的重启命令如下:
$ sudo /etc/init.d/mysql restart  

使用MySQL时还要注意数据库中表名大小写区分的问题,可作如下更改:
$ sudo vi /etc/mysql/my.cnf
在[mysqld]下加入一行:lower_case_table_names=1
这句话就表示不区分大小写表名。再重启一下mysql服务:
$ sudo /etc/init.d/mysql restart

(3)编译mysql++
这是用C++开发cgi上必备的过程,当然ubuntu的包里面有mysql++这个包libmysql++-dev。 如果你的应用需要mysql++静态编译的话还是需要编译mysql++的。当然首先需要安装了g++和libmysqlclient16-dev了。
1.下载mysql++-3.1.0.tar.gz
2.解压缩:tar -xzvf mysql++-3.1.0.tar.gz
3.编译:
$ cd mysql++-3.1.0/
$ sudo ./configure --prefix=/usr
$ sudo make
(
编译make不过:
/usr/local/mysql++-3.1.0/bk-deps g++ -c -o ssqlsxlat_genv2.o -Ilib      -I/usr/local/mysql/include/mysql -g -O2 ./ssx/genv2.cpp
./ssx/genv2.cpp: In function ‘bool generate_ssqls2(const char*, const ParseV2*)’:
./ssx/genv2.cpp:71: error: ‘strcmp’ was not declared in this scope
make: *** [ssqlsxlat_genv2.o] Error 1
>>vi ./ssx/genv2.cpp
增加#include<cstring>;
特殊情形:如果出现make: *** [test_ssqls2] Error 1,则执行:g++ -o test_ssqls2 test_ssqls2_ssqls2.o -lmysqlpp_ssqls2parse -Wl,--as-needed -L. -L/usr/local/lib/mysql -lmysqlclient -lmysqlpp。
重新make)
($ sudo ar rcu libmysqlpp.a mysqlpp_coldata.o mysqlpp_connection.o mysqlpp_datetime.o mysqlpp_field_names.o mysqlpp_fields.o mysqlpp_field_types.o mysqlpp_manip.o mysqlpp_myset.o mysqlpp_mysql++.o mysqlpp_qparms.o mysqlpp_query.o mysqlpp_result.o mysqlpp_row.o mysqlpp_sql_string.o mysqlpp_string_util.o mysqlpp_transaction.o mysqlpp_type_info.o mysqlpp_vallist.o)
$ sudo make install

($ sudo mv libmysqlpp.a /usr/lib/)


转自:http://blog.sina.com.cn/s/blog_6f8fdefe0100wbo1.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值