Linux数据库的安装配置、数据库C程序连接
发布时间:2023-01-09 10:52:49 所属栏目:Unix 来源:
导读: 一、数据库的安装和配置 1. 数据库的安装
2. 配置
(1)先查看数据库状态(service mysql status),如果没有启动,执行启动命令(service mysql start)
(2)mysql -uroot -p在root状态执
2. 配置
(1)先查看数据库状态(service mysql status),如果没有启动,执行启动命令(service mysql start)
(2)mysql -uroot -p在root状态执
|
一、数据库的安装和配置 1. 数据库的安装 2. 配置 (1)先查看数据库状态(service mysql status),如果没有启动,执行启动命令(service mysql start) (2)mysql -uroot -p在root状态执行unix数据库,进入数据库(什么也不用输入,再敲回车就可以直接进入mysql) (3)mysql_secure_installation设置数据库不进行密码强校验(N) (4)设置root管理员密码,是数据库管理员的。是两遍。 (5)设置是否要删除匿名用户,这里不删除。(N) (6)设置是否允许root用户远程登录,这里设置允许。(Y) (7)是否删除数据库,这里选择不删除。(N) (8)设置修改的权限立即生效,此时所有配置初始化完成。(Y) 3. 常用命令 service mysql status查看数据库状态 service mysql start启动数据库 service mysql restart重启数据库 service mysql stop数据库停止 quit或exit或ctrl+d退出数据库 显示数据库版本 显示时间 4. 用户管理与授权 GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'%' identified by '密码' GRANT ALL ON database_name.table_name TO 'user_name'@'localhost' REMOVE SELECT ON database_name.table_name from 'user_name'@'localhost'(取消查询权限) 复制代码 二、数据库C程序连接 1. 安装C/C++开发库 切换到root下,执行apt install libmysqlclient-dev 2. C语言访问mysql #include 复制代码 有些也在 #include 程序中使用了访问mysql的有关函数接口,需要在链接时指定库名: linux平台为 -lmysqlclient MYSQL *mysql_init(MYSQL *mysql); 复制代码 该方法用来初始化一个连接句柄,如果参数为空,则返回一个指向新分配的连接句柄的指针。如果传递一个已有的结构,它将被重新初始化。出错时返回为NULL。 MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag); /* port 是数据库的端口 3306,也可直接写0,意味着使用mysql默认端口, unix_socket 一般为NULL,表示不使用unix套接字或者管道 clientflag 标志位,一般给0 返回值,失败为NULL,成功与第一个参数值相同。 */ 复制代码 void mysql_close(MYSQL *mysql); 复制代码 3. 测试C语言连接数据库 #include #include int main() { MYSQL connect;//mysql连接对象 mysql_init(&connect); //连接到mysql if(mysql_real_connect(&connect,"localhost","root","123456","testdb",0,NULL,0)) { printf("连接mysql成功\n"); } else { printf("err:%s\n",mysql_error(&connect)); printf("连接mysql失败\n"); }//关闭mysql连接 mysql_close(&connect); return 0; } 复制代码 4. 一个简单的示例 #include #include #include #include #include #include int main() { MYSQL *mysql=mysql_init(NULL); if(mysql==NULL) { printf("mysql init err\n"); exit(0); unix数据库_unix linux下curses库开发指南_历史被拖库数据下载 } mysql=mysql_real_connect(mysql,"127.0.0.1","root","123456","testdb",3306,NULL,0); if(mysql==NULL) { printf("connect failed\n"); exit(0); } //char *sql="insert into stu values('小明',21)"; //char *sql="update stu set age=30 where name='小王'"; //char *sql="delete from stu where name='小王'"; char *sql="select * from stu"; int res=mysql_query(mysql,sql);//执行sql语句 if(res!=0) { printf("query sql err:%s\n",mysql_error(mysql));//打印错误信息 } MYSQL_RES *mysql_res=mysql_store_result(mysql);//获取结果集 if(mysql_res==NULL) { printf("提取数据失败:%s\n",mysql_error(mysql)); exit(0); } int num=mysql_num_rows(mysql_res);//获取结果集中有多少行 if(num==0) { printf("没有记录\n"); } else { printf("当前记录条数:%d\n",num); int m=mysql_field_count(mysql);//查看每行记录有几个字段(列) printf("一行记录有%d列\n",m); for(int i=0;i (编辑:我爱资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
