CentOS64+Qt+Mysql+ftp+无密钥传输的配置<详细过程>

这两天单位要部一个环境.CentOS64+Qt+Mysql+ftp+无密钥传输的.
有段日了没装系统了..命令忘的都差不多了..


############################################################################################
# 1. CentOS 配置yum源
############################################################################################


# 挂载两个ISO
将第一个盘的ISO1文件拷贝到ISO2中,进行挂载.

开机自动挂载光盘
修改/etc/fstab
tmpfs                   /dev/shm                tmpfs   defaults         0 0
devpts                  /dev/pts                devpts  gid=5,mode=620   0 0
sysfs                   /sys                    sysfs   defaults         0 0
proc                    /proc                   proc    defaults         0 0
/root/centos64.iso      /mnt/iso                iso9660 defaults,ro,loop 0 0

mkdir /mnt/iso
手动挂载光盘
mount -o loop -t iso9660 /root/centos64.iso /mnt/iso

修改/etc/yum.repos.d/cetnos.repo
[base-centos]
name=CentOS
baseurl=file:///mnt/iso
gpgcheck=0
enabled=1

# 安装gcc,java
yum intall -y gcc*
yum intall -y java*


# 关闭防火墙
关闭:
chkconfig iptables off
selinuxenabled 0

 

############################################################################################
# 2. 安装MYSQL-5.1.66
############################################################################################

 

# 配置好yum源后,yum install -y mysql*

# 启动mysql
service mysqld start
mysql -h192.168.2.18 -uroot -p111

# 查看监听端口
netstat -tnlp |grep :3306

# 查看库
show databases;


# mysql的远程连接
# 在[mysqld]的段中加上一句:skip-grant-tables
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-name-resolve 
skip-grant-tables


目的是为了:
跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。
需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效
重启mysql服务!

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

############################################################################################
# 3. 编译安装Qt-4.5.2
############################################################################################

## Qt安装方法
解压安装包,并移动到 /user/locale/下面.
./configure -debug-and-release -fast -qt-sql-mysql -no-qt3support -no-webkit -no-opengl -no-openssl

# 配置结果
<注意:Qt默认只支持PNG图片,
如果有JPEG或其它格式,
需要去Qt的安装目录
plugins\imageformats
下拷贝图片插件>

Debug ............... no
Qt 3 compatibility .. no
QtDBus module ....... no
QtScriptTools module  yes
QtXmlPatterns module  yes
Phonon module ....... no
SVG module .......... yes
WebKit module ....... no
STL support ......... yes
PCH support ......... yes
MMX/3DNOW/SSE/SSE2..  yes/yes/yes/yes
Graphics System ..... default
IPv6 support ........ yes
IPv6 ifname support . yes
getaddrinfo support . yes
getifaddrs support .. yes
Accessibility ....... yes
NIS support ......... yes
CUPS support ........ no
Iconv support ....... yes
Glib support ........ no
GStreamer support ... no
Large File support .. yes
GIF support ......... plugin
TIFF support ........ plugin (qt)
JPEG support ........ plugin (qt)
PNG support ......... yes (qt)
MNG support ......... plugin (qt)
zlib support ........ system
Session management .. yes
OpenGL support ...... no
NAS sound support ... no
XShape support ...... yes
Xinerama support .... runtime
Xcursor support ..... runtime
Xfixes support ...... runtime
Xrandr support ...... runtime
Xrender support ..... yes
Xi support .......... runtime
MIT-SHM support ..... yes
FontConfig support .. yes
XKB Support ......... yes
immodule support .... yes
GTK theme support ... no
MySQL support ....... qt
SQLite support ...... plugin (qt)
OpenSSL support ..... no

## 编译安装
gmake && gmake install

## 修改环境变量
可以将环境变量添加到 .bashrc 或 .bash_profile 或 /etc/bashrc 或 /etc/profile
它们的区别是:
1. /etc/profile:对所有用户生效,当用户第一次登录时,该文件被执行.
2. /etc/bashrc:对所有用户生效,为每一个运行bash shell的用户执行此文件
3. ~/.bash_profile:仅会对当前用户有效,当用户登录时,该文件仅仅执行一次
4. ~/.bashrc:仅会对当前用户有效,当登录时以及每次打开新的shell时,该该文件被读取

QTDIR=/usr/local/qt-4.5.2
PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
QMAKESPEC=$QTDIR/mkspecs/linux-g++-64

export QTDIR
export PATH
export LD_LIBRARY_PATH
export QMAKESPEC


## 查看Qt支持的图片类型
可以运行下面的函数查看:QImageReader::supportedImageFormats

QList<QByteArray> QImageReader::supportedImageFormats () [static]
Returns the list of image formats supported by QImageReader.

By default, Qt can read the following formats:

Format Description
BMP Windows Bitmap
GIF Graphic Interchange Format (optional)
JPG Joint Photographic Experts Group
JPEG Joint Photographic Experts Group
MNG Multiple-image Network Graphics
PNG Portable Network Graphics
PBM Portable Bitmap
PGM Portable Graymap
PPM Portable Pixmap
TIFF Tagged Image File Format
XBM X11 Bitmap
XPM X11 Pixmap
SVG Scalable Vector Graphics
TGA Targa Image Format
Reading and writing SVG files is supported through Qt's SVG Module.

TGA support only extends to reading non-RLE compressed files. In particular calls to capabilities for the tga plugin returns only QImageIOPlugin::CanRead, not QImageIOPlugin::CanWrite.

To configure Qt with GIF support, pass -qt-gif to the configure script or check the appropriate option in the graphical installer.

Note that the QApplication instance must be created before this function is called.

See also setFormat(), QImageWriter::supportedImageFormats(), and QImageIOPlugin.


############################################################################################
# 4. 使用Qt连接Mysql
############################################################################################


#include <QApplication>
#include <QtSql>
#include <QTableView>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
   
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("mydb");
    db.setUserName("username");
    db.setPassword("password");
    db.open();

    QSqlQuery query;
    query.exec("create table hello(id bigint not null auto_increment,name varchar(255),age bigint,primary key (id))");
    query.exec("insert into hello(name, age) values('xiaoxi', 18)");
    query.exec("insert into hello(name, age) values('xiaonan', 19)");
    query.exec("insert into hello(name, age) values('xiaobei', 20)");
    query.exec("insert into hello(name, age) values('xiaodong', 21)");


    QSqlQueryModel *model = new QSqlQueryModel;
    model->setQuery("select * from hello");
    model->setHeaderData(0, Qt::Horizontal, "id");
    model->setHeaderData(1, Qt::Horizontal, "name");
    model->setHeaderData(2, Qt::Horizontal, "age");
    QTableView *view = new QTableView;
    view->setWindowTitle("QSqlQueryModel");
    view->setModel(model);
    view->show();


    db.close();
    return app.exec();
}

编译:

xhy@xhy-desktop:~$ qmake -project
xhy@xhy-desktop:~$ qmake

一定别忘了在工程的.pro文件里加上下面一行:

QT += sql

xhy@xhy-desktop:~$make
xhy@xhy-desktop:~$./mysql

 

############################################################################################
# 5. CentOS配置sftp
############################################################################################


sftp是ssh内含的协议,只要sshd服务器启动了,它就可用.
sftp root@192.168.2.18
>ls
>get ...
>put ...

如果sshd服务没有默认启动:
chkconfig sshd on


############################################################################################
# 6. CentOS配置无密钥传输
############################################################################################


# 举例说明:
[root@centos6-64 .ssh]# pwd
/root/.ssh

[root@centos6-64 .ssh]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d6:2a:df:0b:46:3d:22:da:5b:24:b2:da:78:01:f3:c4 root@centos6-64
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|   .             |
|  o E    o       |
|   =. o S +      |
|    o= * o .     |
|    o.o =        |
|   +.  * o       |
|  o.. . . o.     |
+-----------------+

[root@centos6-64 .ssh]# ls -lrt
total 16
-rw-r--r-- 1 root root  394 Nov 18 16:18 known_hosts
-rw-r--r-- 1 root root  394 Nov 18 22:32 authorized_keys
-rw-r--r-- 1 root root  397 Nov 18 22:33 id_rsa.pub
-rw------- 1 root root 1675 Nov 18 22:33 id_rsa

[root@centos6-64 ~]# ssh-copy-id 192.168.2.16
root@192.168.2.16's password:
Now try logging into the machine, with "ssh '192.168.2.16'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

<成功>

[root@centos6-64 ~]# ssh 192.168.2.16
Last login: Mon Nov 25 10:10:24 2013 from 192.168.2.166
[root@www ~]#

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值