MYSQL在windows平台以及linux平台下的安装及与QT连接使用

一、window平台

注:mysql-5.0版本的安装图解教程是来源于网络,我只是针对这个做个总结和整理,以方便使用和查找。我所使用的是mysql-5.5.33-win32.msi版本

mysql 官方下载地址 http://dev.mysql.com/downloads/

1、安装
(下面出现的安装截图均以5.0版本作为演示说明,实际上安装5.5.33版本与5.0版本一致)

下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5.5.33-win32.msi,双击运行,出现如下界面

mysql安装图文教程1
mysql安装图文教程1
 
mysql安装向导启动,按“Next”继续
mysql图文安装教程2
mysql图文安装教程2
 
选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程:
mysql图文安装教程3
mysql图文安装教程3
 
在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change...”,手动指定安装目录。
mysql图文安装教程4
mysql图文安装教程4
填上安装目录,我的是“F:\Server\MySQL\MySQL Server 5.5.13”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。
mysql图文安装教程5
mysql图文安装教程5
返回刚才的界面,按“Next”继续
mysql图文安装教程6
mysql图文安装教程6
确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。
 
mysql图文安装教程7
mysql图文安装教程7
正在安装中,请稍候,直到出现下面的界面
 
mysql图文安装教程8
mysql图文安装教程8
这里是询问你是否要注册一个mysql.com的账号,或是使用已有的账号登陆mysql.com,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。
 
mysql图文安装教程9
mysql图文安装教程9
现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。
注意在安装向导里所进行的设置比较关键。
 
mysql图文安装教程10
mysql图文安装教程10
 
mysql配置向导启动界面,按“Next”继续
mysql图文安装教程10
mysql图文安装教程10
选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。
mysql图文安装教程11
mysql图文安装教程11
选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。
mysql图文安装教程12
mysql图文安装教程12
选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续。
 
mysql图文安装教程13
mysql图文安装教程13
 
对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续
 
mysql图文安装教程14
mysql图文安装教程14
 
选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续
mysql图文安装教程15
mysql图文安装教程15
 
是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306(记住该端口,比较关键),在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续
 
mysql图文安装教程16
mysql图文安装教程16
 
西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。
mysql图文安装教程17
mysql图文安装教程17
选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。
 
mysql图文安装教程18
mysql图文安装教程18
 
这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。 “Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。
 
mysql图文安装教程19
mysql图文安装教程19
 
确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。
 
mysql图文安装教程20
mysql图文安装教程20
 
设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
安装完成后就可以正常的使用数据库了。
2、用户账号设置
使用mysql自带的MySQL 5.5 Command Line Client控制台(开始->MYSQL->MySQL Server 5.5->MySQL 5.5 Command Line Client),首先进入数据库。默认使用该控制台可以直接输入密码即可进入数据库。
登陆后:
1.创建数据库并为用户授权

//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录(即默认登录).

如果以普通控制台程序登录,则需要进行如下操作:
@>mysql -u root -p

@>密码
//首先为用户创建一个数据库(ximoDB)
mysql>create database ximoDB;
//授权jeecn用户拥有jeecn数据库的所有权限
@>grant all  on ximoDB.* to ximo@localhost identified by ‘123456’;
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作

//如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on ximoDB.* to ximo@localhost identified by ‘123456’;
//刷新系统权限表。
mysql>flush privileges;

mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。

例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to xing@211.87.147.195 identified by ‘123′;
给来自211.87.147.195的用户xing分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all  on vtdc.* to xing@211.87.147.195 identified by ‘123′;
给来自211.87.147.195的用户xing分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all  on *.* to xing@211.87.147.195 identified by ‘123′;
给来自211.87.147.195的用户xing分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to xing@localhost identified by ‘123′;
给本机用户xing分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

2.删除用户

@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User=”ximo” and Host=”localhost”;
mysql>flush privileges;
//删除用户的数据库
mysql>drop database ximoDB;

3.修改指定用户密码

@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password(‘新密码’) where User=”ximo” and Host=”localhost”;
mysql>flush privileges;
mysql>quit

二、linux平台

我使用的是ubuntu11.04的版本。

1、安装

 
在linux平台下安装MYSQL比较简单,直接到软件中心里,搜索MYSQL server,在搜索出的结果里直接选择MYSQL SERVER点击install(安装),直接自动化安装完成。
 
1、配置
在linux平台下,其配置方法由于都是属于MYSQL的相关属性,因此其配置方法与window平台的完全一致。
 
问题1:
默认安装的数据库经过测试发现中文显示异常,中文都显示???
 
启动mysql后,以root登录mysql 

 1 isher@isher-ubuntu:~$ mysql -u root 
 2 >show variables like 'character%'; 
 3 #执行编码显示 ,发现编码格式如下:
 4 +--------------------------+----------------------------+ 
 5 | Variable_name | Value | 
 6 +--------------------------+----------------------------+ 
 7 | character_set_client | latin1 | 
 8 | character_set_connection | latin1 | 
 9 | character_set_database | latin1 | 
10 | character_set_filesystem | binary | 
11 | character_set_results | latin1 | 
12 | character_set_server | latin1 | 
13 | character_set_system | utf8 | 
14 | character_sets_dir | /usr/share/mysql/charsets/ | 
15 +--------------------------+----------------------------+ 
找到客户端配置[client] 在下面添加 
### 默认字符集为utf8 
default-character-set=utf8 
在找到[mysqld] 添加 
### 默认字符集为utf8 
default-character-set=utf8 
### (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行) 
init_connect='SET NAMES utf8' 
修改好后,重新启动mysql 即可,查询一下show variables like 'character%'; 

##重新启动mysql 
/etc/init.d/mysql start (stop) 为启动和停止服... 

在某些时候,我们续要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改,windows可以直接用Mysql Server Instance Config Wizard 进行设置 
 1 +--------------------------+----------------------------+ 
 2 | Variable_name | Value | 
 3 +--------------------------+----------------------------+ 
 4 | character_set_client | utf8 | 
 5 | character_set_connection | utf8 | 
 6 | character_set_database | utf8 | 
 7 | character_set_filesystem | binary | 
 8 | character_set_results | utf8 | 
 9 | character_set_server | utf8 | 
10 | character_set_system | utf8 | 
11 | character_sets_dir | /usr/share/mysql/charsets/ | 
12 +--------------------------+----------------------------+ 
问题2:
使用远程登录时,会出现无法连接的情况,此情况也是由于在my.cnf中配置不正确造成的,其修改方法为:
gedit /etc/mysql/my.cnf
找到bind-address       =127.0.0.1
将其注释掉,或者改为相应的访问IP地址,例如bind-address       =211.87.147.195
 
 
三、QT的连接
 
在使用时,其中连接数据库的关键函数如下:
 1 static bool createConnection()
 2 {
 3 QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
 4 //*****************本地数据库链接方法*****************
 5 // db.setHostName("localhost"); //本地数据库链接
 6 // db.setDatabaseName("mydb");  //登录的数据库名称
 7 // db.setUserName("root");      //用户名
 8 // db.setPassword("123456");    //连接密码
 9 //******************网络数据库链接方法******************
10 db.setHostName("211.87.147.194"); //网络数据库IP地址
11 db.setDatabaseName("sql_test"); //数据库名称
12 db.setUserName("ximo");         //数据库名称
13 db.setPassword("12315");        //密码
14 db.setPort(3306);               //端口号,默认为3306
15 if(db.open())
16 {
17  qDebug()<<"database is established OK!";
18 return true;
19 }
20 else
21 {
22  qDebug()<<"build error!";
23 QMessageBox::warning(0,QObject::tr("Database Error!"),db.lastError().text());
24 return false;
25 }
26 }
View Code

 

我的新浪博客地址:http://blog.sina.com.cn/xingzhaohe,欢迎访问。
posted on 2013-08-28 19:23  昔默  阅读(421)  评论(0)    收藏  举报