当前位置:   article > 正文

Linux如何指向mysql_linux 下mysql一些基本操作

grant all on *.* to rick@localhost identified by '123456';

MySQL数据库常用操作

1、显示数据库

show databases;

2、选择数据库

use 数据库名;

3、显示数据库中的表

show tables;

4、显示数据表的结构

describe 表名;

5、显示表中记录

SELECT * FROM 表名

6、建库

create database 库名;

7、建表

0818b9ca8b590ca3270a3433284dd417.png

create table表名 (字段设定列表); mysql> create tablename(-> id int auto_increment not null primary key,-> uname char(8),-> gender char(2),->birthday date ); Query OK,0 rows affected (0.03sec) mysql>show tables;+------------------+

| Tables_in_userdb |

+------------------+

| name |

+------------------+

1 row in set (0.00sec) mysql>describe name;+----------+---------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------+---------+------+-----+---------+----------------+

| id | int(11) | NO | PRI | NULL | auto_increment |

| uname | char(8) | YES | | NULL | |

| gender | char(2) | YES | | NULL | |

| birthday | date | YES | | NULL | |

+----------+---------+------+-----+---------+----------------+

4 rows in set (0.00sec) 注: auto_increment 自增primary key 主键

0818b9ca8b590ca3270a3433284dd417.png

8、增加记录

insert into name(uname,gender,birthday) values('张三','男','1971-10-01');

9、修改记录

update name set birthday='1971-01-10' where uname='张三';

10、删除记录

delete from name where uname='张三';

11、删除表

drop table 表名

12、删除库

drop database 库名;

13、备份数据库

mysqldump -u root -p --opt 数据库名>备份名; //进入到库目录

14、恢复

mysql -u root -p 数据库名

15、数据库授权

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例1、增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

mysql> grant select,insert,update,delete on *.* to user001@"%" Identified by "123456";

例2、增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机)

//这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。

//首先用以root用户连入MySQL,然后键入以下命令:

mysql>grant select,insert,update,delete on test.* to user002@localhost identified by "123456";

注: 其次也可以采用修改表的方式,处理用户的登录方式:

数据库: Mysql

表:      User

修改:   User表中的Host列的值来现实登录入口

16、linux下mysql.h:没有那个文件或目录

缺少libmysqlclient-dev,OK安装就是了,apt-get installlibmysqlclient-dev

17、linux下如何卸载mysql

首先使用命令rpm -qa | grep -i mysql  会出来mysql的安装版本

假如出现的版本是MySQL-server-community-5.0.90-0.rhel4

下一步使用命令rpm -e MySQL-server-community-5.0.90-0.rhel4

如果什么都不出现,表明已经卸载成功。

在执行后要是提示:error: Failed dependencies:

libmysqlclient.so.15 is needed by (installed) amarok-1.4.8-1.fc7.i386

libmysqlclient.so.15(libmysqlclient_15) is needed by (installed) amarok-1.4.8-1.fc7.i386

那么说明其中有些是dependence关系。那么,我们将它们干脆一次性干掉。

执行完整卸载命令:rpm -e amarok-1.4.8-1.fc7.i386 mysql-libs-5.0.45-6.fc7

18、linux下查看mysql字符集

show variables like 'character_set_%';

19、使用C语言访问MYSQL数据

连接例程

用C语言连接MYSQL数据库包含两个步骤:

(1)初始化一个连接句柄结构

(2)实际进行连接

首先使用mysql_init来初始化连接句柄

#include

MYSQL *mysql_init(MYSQL *);

通常你把NULL给这个例程,它会返回一个指向新分配的连接句柄结构的指针。如果你传递一个

已有的结构,它将被重新初始化。这个例程在出错时返回NULL。

目前为止,你只是分配和初始化了一个结构。你仍然需要使用mysql_real_connect来向一个

连接提供参数:

MYSQL *mysql_real_connect(MYSQL *connection,

const char *server_host,

const char *sql_user_name,

const char *sq_password,

const char *db_name,

unsigned int port_number,

const char *unix_socket_name,

unsigned int flags);

指针connecton必须指向已经被mysql_init初始化过的结构。

server_host既可以是主机名,也可以是IP地址。

sql_username和sql_password的含义和它们的字面含义一样,如果登录名为NULL,则假设登录名为当前linux用户的登录ID,如果密码为NULL,你将只能访问服务器上无需密码就可访问的数据,密码会在通过网络传输前进行加密。

port_number和unix_socket_name应该分别为0和NULL,除非你改变了MYSQL安装的默认配置。

如果无法连接,将返回NULL。mysql_error函数可以提供有帮助的信息。

使用完连接后,通常在程序退出时,调用mysql_close:

void mysql_close(MYSQL *connection);

这将关闭连接,如果连接是由mysql_init建立的,MYSQL结构会被释放,指针将会失效并无法再次使用。

在C应用程序中提取数据一般需要下面4个步骤:

(1)执行查询

(2)提取数据

(3)处理数据

(4)必要的清理工作

你将使用mysql_query来发送SQL语句,然后使用mysql_store_result或mysql_use_result来提取数据,然后使用mysql_fetch_row来处理数据,最后使用mysql_free_result来释放查询占用的内存资源。

19、mysql创建用户

我们可以针对不同的机器来创建用户,并给他们分配不同的连接权限,特别的,出于安全考虑,我们只允许root用户通过本地机器连接。

我们将创建一个拥有相当广泛权限的新用户rick,rick能使用3种不同的方法进行连接:

(1)从本地机器连接。

(2)从IP地址192.168.0.0~192.168.0.255范围内的任何机器连接

(3)从wiley.com域中任何机器连接。

最安全最简单的方法是创建3个用户,他们分别从3个不同的地点进行连接。如果愿意,我们甚至可以根据他们从何处连接给他们设置3个不同的密码。

以root身份连接到MYSQL,然后依次执行如下操作:

(1)为rick创建一个本地登录:

mysql> grant all on *.* to rick@localhost identified by 'secretpassword';

(2)然后创建一个来自C类子网192.168.0的登录。注意我们必须用单引号来保护IP范围,并使用掩码/255.255.255.0来确定允许的IP范围:

mysql>grant all on *.* to rick@'192.168.0.0/255.255.255.0' identified by 'secretpassword';

(3)最后创建一个登录,让rick能从wiley.com域中的任何机器登录

mysql> grant all on *.* to rick@'%.wiley.com' identified by 'secretpassword';

(4)现在我们再次查看user表来核对条目:

mysql>select user,host,password from mysql.user;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/115149?site
推荐阅读
相关标签
  

闽ICP备14008679号