Linux下的MySQL入门

Linux下的MySQL入门

本笔记记录了在Linux RedHat 6.5 (32bit)下通过rpm的方式安装MySQL 5.7.18的过程。

一、下载MySQL安装包。

上MySQL官网点击Download,下载mysql-5.7.18-1.el5.i686.rpm-bundle.tar。

二、Linux下的安装。

1. 检查下linux是不是已经安装了MySQL

#rpm -qa | grep –i mysql

#mysql-libs-5.1.71-el6.i686

如果安装了先卸载旧的版本

#yum -y remove mysql

#rpm –e –nodepsmysql-libs-5.1.71-el6.i686

2.解压安装包

#tar –xf mysql-5.7.18-1.el5.i686.rpm-bundle.tar

3.在解压的目录下,直接安装所有安装包:

#rpm –i *.rpm

这时提示test这个安装包无法安装,(缺少PERL,不太懂)可以先将它从该目录中移走或删除。

#mv./mysql-community-test-5.7.18-1.el5.i686.rpm /home/wayne/MySQL

重新全部安装。不出意外安装成功。

三、启动MySQL

1.启动服务:

#service mysqld start  

2.登录:

#mysql –u root –p

初次登录密码为空。可能出现的错误:access denied for user ‘root’@’localhost’

解决办法:打开配置文件:

#vi /etc/my.cnf

在文件末尾添加:skip-grant-tables.

保存后重启mysqld服务:

#service mysqld restart;

3.修改密码:用户密码信息在mysql数据库里。

mysql> use mysql

mysql> update user setpassword=password('12345') where user='root';

mysql> flushprivileges;

4.设置允许远程登录

mysql> use mysql;

mysql> selecthost,user,password from user;

mysql> update user sethost='%' where user='root' and host='localhost';

mysql> flushprivileges;

mysql> exit;

5.开机自启动

#chkconfig mysqld on

四、MySQL基本操作

1.显示数据库:

mysql > show databases;

2.选择数据库:

mysql > use 数据库名;

3.显示数据库中的表

mysql > show tables;

4.显示数据表结构

mysql > describe 表名;

5.显示表中记录

mysql > select * from 表名;

6.建库:

mysql > create database 库名;

7.建表:

mysql > create table 表名(字段列表)如:

mysql > create table students(

->stu_num char(20) not null,

->stu_namechar(10) not null,

->stu_ageint not null,

->stu_scoreint,

->primarykey (stu_num));

8.增加记录

mysql > insert into students values(“13121233”, “wayne”,“27”, ”95”);

9.修改记录:

mysql > update students set stu_score=’95’ wherestu_name = ‘wayne’;

10.删除记录:

mysql > delete from students where stu_name = ‘wayne’;

11.删除表:

mysql > drop table 表名;

12.删除库:

mysql >drop database 库名;

13.数据库授权:

mysql >grant select on 库名.* to 用户名@登录主机 identified by “密码”;

mysql >grant select,insert,update,delete on wayne.* touser001@”%” identified by “12345”;

五、C++应用

在环境搭建完成之后,创建一个wayne的数据库,并创建一个students的表,表中按照上面的方法创建若干字段并添加记录:

mysql >create database wayne;

mysql > use wayne;

mysql > create table students(

->stu_num char(20) not null,

->stu_namechar(10) not null,

->stu_ageint not null,

->stu_scoreint,

->primarykey (stu_num));

mysql > insert into students values(“13121233”, “wayne”,“27”, ”100”);

mysql > insert into students values(“13121380”, “Huihui”,“26”, ”97”);

调用mysql封装的相关函数即可实现相关操作:

#include<iostream>

#include<mysql/mysql.h>

usingnamespace std;

 

intmain()

{

       cout<<"hello,Linux!\n"<<endl;

 

       MYSQL *connection;

       MYSQL_RES *results;

       MYSQL_ROW row;

       connection = mysql_init(NULL);

       if(NULL == connection)

       {

              cout<<"initerror:"<<mysql_error(connection);

              exit(1);

       }

       else

              cout<<"initsuccess!"<<endl;

       connection =mysql_real_connect(connection,"localhost","root","12345","wayne",0,NULL,0);

       if(NULL == connection)

       {

              cout<<"connecterror:"<<mysql_error(connection)<<endl;

              exit(1);

       }

       else

              cout<<"connectsuccess!"<<endl;

       if(mysql_query(connection, "select *from students"))

       {

              cout<<"QueryError:"<<mysql_error(connection)<<endl;

              exit(1);

       }

       else

       {

              results =mysql_use_result(connection);

              for(int i=0;i<mysql_field_count(connection); i++)

              {

                     row = mysql_fetch_row(results);

                     if(row <= 0)

                     {

                            break;

                     }

                     for(int j=0;j<mysql_num_fields(results); j++)

                     {

                            cout<<row[j]<<"";

                     }

                     cout << endl;

              }

             

              mysql_free_result(results);

 

       }

       mysql_close(connection);

       return 1;

}

数据库的mysql支持在usr/include/mysql路径下;另外在执行g++时可能会遇到不认识这些库函数的的问题,解决办法是手动添加上支持库文件:

//makefile:

       g++ -o TestMySQL TestMySQL.cpp-L/usr/lib/mysql –lmysqlclient

可以把这句话写成Makefile,注意开始添加一个tab。执行结果如下:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bjtuwayne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值