环境ubuntu12.10
安装命令
sudo apt-get install mysql-server
启动mysql
sudo start mysql
关闭mysql
sudo stop mysql
重启mysql(在mysql已经启动的情况下该命令才会被识别)
sudo restart mysql
查看mysql是否启动
ps -ef|grep mysqld 看看是否有mysqld_safe 和mysqld进程
如果已经添加到服务中
service mysql status
查看mysql版本
mysqladmin -u root -p version
遇到的问题:
启动mysql时,网络上的说法执行 /etc/init.d/mysql start
提示
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
按照提示
sudo start mysql即可
关闭mysql时,网络上的说法执行/etc/init.d/mysql stop
提示:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql stop
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop mysql
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.83" (uid=1000 pid=6095 comm="stop mysql ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
根据提示, sudo stop mysql即可
MySQL的常用操作
MySQL登录
命令是mysql, mysql 的使用语法如下: mysql [-u username] [-h host] [-p[password]] [dbname] username 与 password 分别是 MySQL用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是 root,由于初始没有密码,第一次进时只需键入mysql即可。
如果安装过程中设置了密码,也可用root用户登录,例如
mysql -u root -p
Enter password:
退出登录:exit 或 quit
远程登录
mysql -h ip -u user -p
1、显示数据库
show databases;
2、显示表中的记录:
select * from 表名;
3、建库:
create database 库名;
4、建表:
use 库名;
create table 表名 (字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
use aaa;
create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
5、显示数据表的结构:
describe 表名;
6、增加记录 例如:增加几条相关纪录。
insert into name values('','张三','男','1971-12-01');
可用select命令来验证结果。
select * from name;
7、修改纪录
例如:将张三的出生年月改为1971-01-10
update name set csny='1971-01-10' where xm='张三';
8、删除纪录
例如:删除张三的纪录。
delete from name where xm='张三';
9、删库和删表
drop database 库名;
drop table 表名;
下面展示了一个用c操作MySQL的实例,如果你找不到mysql.h,(一般在/usr/include/mysql文件夹中)
需要安装libmysql++-dev开发包
sudo apt-get install libmysql++-dev
编译时添加动态库
gcc sql.c -lmysqlclient -o sql
#include
#include
main()
{
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
char *query = "select * from name";
int r, i;
//初始化
mysql_init(&mysql);
//链接数据库
if (!mysql_real_connect(&mysql, "127.0.0.1",
"root","123", "test_db",
0, NULL, 0))
{
printf("connect error:%s\n",mysql_error(&mysql));
}
else
{
printf("connect succed\n");
}
r = mysql_query(&mysql, query);
if (r == 1)
{
printf("query error:%s\n",mysql_error(&mysql));
}
else
{
res = mysql_store_result(&mysql);//返回查询的全部结果集
if (res)
{
for (r=0; r<=mysql_field_count(&mysql); r++)
{
row = mysql_fetch_row(res);
if (row < 0) break;
for (i=0; i
printf("%s ",row[i]);
printf("\n");
}
}
mysql_free_result(res);//释放资源
}
mysql_close(&mysql);//关闭链接
printf("test\n");
mysql_library_end();//关闭MySQL库
}