【数据库开发】在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

【数据库开发】在Windows上和Linux上配置MySQL的过程的更多相关文章

  1. 在linux中配置mysql的过程

    以华为企业云中的CentOS 7 为例. 1. 首先要安装相应的包,这个使用各种linux发行版的包管理工具就行,不再赘述.有一点需要注意,现在许多linux发行版将mariadb作为MySQL的默认 ...

  2. Gradle在Windows环境与Linux上配置有哪些不同?

    我的开发环境:Windows + Android Studio + Gradle 2.8 all + Jenkins 公司CI 服务器环境: Linux + Gradle 2.10 bin + Jen ...

  3. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

  4. Windows软件在Linux上的等价/替代/模仿软件列表 (抄一个)

    Last update: 16.07.2003, 31.01.2005, 27.05.2005 您可在以下网站发现本列表最新版:http://www.linuxrsp.ru/win-lin-soft/ ...

  5. Mantis 从Windows 迁移到Linux上

    1. 导出windows manits的mysql数据库文件, 在cmd运行:mysqldump -uroot -p3edc$RFV bugtracker > C:/mantis.sql; 2. ...

  6. 在windows 7 和linux上安装xlwt和xlrd

    在windows 7上安装xlwt xlrd xlwt是开源社区编写的python库,需要单独安装,下载地址https://pypi.python.org/pypi/xlwt 目前xlwt最新的版本是 ...

  7. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

  8. Win10上使用Linux Subsystem配置cuckoo sandbox

    原文连接:https://www.trustwave.com/Resources/SpiderLabs-Blog/Cuckoo--Linux-Subsystem--Some-Love-for-Wind ...

  9. octave在win上和linux上配置syms

    octave是类似matlab的一个科学计算工具集.需要用到积分.微分.求导的时候,需要连接python3的sympy. windows上先安装好python3,然后pip安装Sympy.具体过程: ...

随机推荐

  1. Hadoop集群分布搭建

    一.准备工作 1.最少三台虚拟机或者实体机(官网上是默认是3台),我这边是3台 s1: 10.211.55.18 s2: 10.211.55.19 s3: 10.211.55.20 2.安装JDK 3 ...

  2. 十七.rsync+SSH同步

    1. rsync同步操作 • 命令用法 – rsync [选项...] 源目录 目标目录   • 同步与复制的差异 – 复制:完全拷贝源到目标 – 同步:增量拷贝,只传输变化过的数据   • rsyn ...

  3. vue报错 :NavigationDuplicated {_name: "NavigationDuplicated", name: "NavigationDuplicated"}

    解决的几种办法 https://blog.csdn.net/weixin_43202608/article/details/98884620 这个适合所有vue的UI框架 在main.js下添加一下代 ...

  4. snmp_trap/snmptt

    Zabbix Snmp Trap 配置 1. Zabbix Server 操作 1.1 Snmp Trap 安装配置 yum install -y net-snmp net-snmp-utils vi ...

  5. imp

    imp 重载模块功能 from imp import reload 当在shell中使用一个模块,原始代码改了,要使用新的还得退出shell重新载入一次,这样的话原来的变量就都不在了 这时候可以使用i ...

  6. Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门

    Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门 转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chines ...

  7. Jenkins automate workflow

    Now we will build an automate flow from code compiling to product delivery.The essential tools using ...

  8. (WAWAWAWAWAWA) BZOJ 1858: [Scoi2010]序列操作

    二次联通门 : BZOJ 1858: [Scoi2010]序列操作 /* BZOJ 1858: [Scoi2010]序列操作 已经... 没有什么好怕的的了... 16K的代码... 调个MMP啊.. ...

  9. Python解释器安装问题-windows

    问题一-更新问题(update your machine) 解决方案 1 搜索 windows update 2 检查更新 3 安装更新重启 问题二-0x80072efd错误 问题原因: 安装包需要在 ...

  10. CUDA编程前言

    GPU架构 GPU特别适用于 密集计算,高度可并行计算,图形学 晶体管主要被用于 执行计算,而不是缓存数据,控制指令流 GPU计算的历史 2001/2002 -- 研究人员把GPU当做数据并行协处理器 ...