【数据库开发】在Windows上和Linux上配置MySQL的过程
2016-12-20 20:36
429 查看
【数据库开发】在Windows上和Linux上配置MySQL的过程
标签(空格分隔): 【编程开发】首先是在Windows上尝试用QT进行MySQL数据库开发,结果总出现driver不能load的错误,一直没有改过来。后又直接尝试在Linux下进行MySQL开发,直接安装了三个包就可以使用了。下面记录这些过程。
在Linux下配置MySQL的过程
首先是安装mysql,以ubuntu为例:sudo apt-get install mysql-server mysql-client //安装过程中会让你输入root密码,比如:123456
安装完成后,使用,我们就可以在命令行运行mysql了:
mysql -u root -p //Enter password:123456
进入mysql了,可以输入各种命令了:
mysql> create database testdb;//创建一个数据库 mysql> use testdb;//切换到该数据库 mysql> create table student (sid int primary key not null, name varchar(20));//创建一个表 mysql> insert into student values (2010110, 'shuguang');//插入一条记录 mysql> select * from student;//查询 mysql> delete form student where name = 'shuguang';//删除一条记录 mysql> update student set name = 'chengshuguang' where name = 'shuguang';//更新一条记录 mysql> drop table student;//删除表 mysql> drop database testdb;//删除数据库 //显示 mysql> show databases;//显示所有数据库列表 mysql> show tables;//显示一个数据库中的所有表 mysql> desc/describe student;//查看student表的结构 mysql> show table status;//显示table的各种配置信息,比如Engine是MyISAM(默认)还是InnoDB(支持transaction) //由于鄙人开发过程中要用到transaction来保证数据的一致性,所以需要把Engine切换到InnoDB,其实很简单,如下: mysql> alter table student ENGINE = InnoDB;
关于引擎的切换要单独拿出来,主要是便于我以后查看:
mysql> alter table student ENGINE = InnoDB; 切换到InnoDB之后,就可以用事务(transaction)了 begin transaction; ... do anything... ... commit;//没有出错则提交 rollback;//出错,那么就rollback,这个功能就是我需要
然后就是应用mysql开发啦:
你还需要安装一个开发包:libmysql++-dev
sudo apt-get install libmysql++-dev
到这一步,一切准备就绪,只差写代码啦:
#include<stdio.h> #include<mysql/mysql.h> int main() { MYSQL mysql; mysql_init(&mysql); if(!mysql_real_connect(&mysql,"localhost","root","110315","testdb",0,NULL,0)){ fprintf(stderr,"Failedtoconnecttodatabase:Error:%s\\n",mysql_error(&mysql)); } else{ printf("database connect..\n"); } mysql_close(&mysql); return 0; }
编译的时候要注意加上-lmysqlclient
g++ testmysql.cpp -g -Wall -lmysqlclient -o testmysql
在Windows下配置MySQL的过程
首先在下面的连接中找到了一个community版本的SQL,GPL。是一个压缩包,解压过后放在了D盘路径,进入到对应的:
D:\mysql_5_7_17_winx64\bin
里面实际上就对应Linux下的各种命令的可执行文件;
在第一次配置的过程中遇到了各种问题,总之就是连接不上,都进不去mysql。
下面是正确的部署过程:
mysqld --initialize-insecure
只输mysqld –initialize 生成随机密码进不去的,输入mysqld –initialize-insecure生成无密码的用户
上面的作用是初始化mysql环境,生成了对应的data路径:
D:\mysql_5_7_17_winx64\data
之后安装mysqld服务:
mysqld –install #安装服务
然后可以开启服务:
net start mysql
这样才会开启服务,然后使用mysql进行登陆
mysql -u root
不需要输入密码,因为上面初始化的时候设置了root没有密码,进入后可以修改密码:
方法1: 用SET PASSWORD命令
MySQL -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
mysqladmin -u root password "newpass"
如果root已经设置过密码,采用如下方法
mysqladmin -u root password oldpass "newpass"
方法3: 用UPDATE直接编辑user表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
2016-12-20 20:34
张朋艺 pyZhangBIT2010@126.com
相关文章推荐
- Fedora 7(Linux)下 Apache+PHP+MySQL+Subversion 开发测试环境配置过程
- jbpm-6.3.0.Final-installer-full在Windows上的部署、数据库由H2切换为MySql、Linux上的部署全过程
- 在Linux下和windows下配置apache+php+mysql 开发环境和Zend Studio+Aptana Studio 的IDE
- jbpm-6.3.0.Final-installer-full在Windows上的部署、数据库由H2切换为MySql、Linux上的部署全过程
- Linux下PHP+MYSQL+APACHE配置过程 (摘)第1/2页
- Mysql 数据库双机热备的配置(Windows)
- Poechant 快速安装配置教程:Windows 7下Apache+MySQL+PHP开发环境
- linux/windows下Apache2.2.4整合Tomcat6.0.16三种方式的详细配置过程
- Linux下jsp开发环境,apache,tomcat服务器配置过程
- 为 DEV-C++ 生成 libmysql.a 的过程 及 windows下 devc++ c语言访问mysql数据库 环境配置
- SQL跨数据库访问linux或windows的mysql和定时作业
- windows开发 linux部署 java [debian+resin+mysql+java] 之环境搭建
- Oracle数据库开发(一).Windows下配置使用ProC
- linux上开发minigui的配置过程
- Windows下的linux开发环境Cygwin的安装配置
- Linux下jsp开发环境,apache,tomcat服务器配置过程
- Linux 下Apache+MySQL+PHP安装及配置过程
- 为 DEV-C++ 生成 libmysql.a 的过程 及 windows下 devc++ c语言访问mysql数据库 环境配置
- windows下配置python ,django,mysql,memcahe开发环境
- linux上开发minigui的配置过程