mysql++安装

MySQL++是基于 C++的 对MySQL和MariaDB的再次封装, 它建立在与标准c++库相同的原则之上,使处理数据库如同处理std容器(STL)一样简单。MySQL++还提供了一些工具,可以让您在自己的代码中避免重复的SQL,为这些常见任务提供了本地c++接口。 因此首先需要先安装mysql.

yum install mysql-devel

如果没有root权限,也可以下载源代码包安装。下载mysql++并编译安装:

wget https://tangentsoft.com/mysqlpp/releases/mysql++-3.3.0.tar.gz
 tar xzvf mysql++-3.3.0.tar.gz
 cd mysql++-3.3.0/
 ./configure --prefix=/home/usr/local/installdir --with-mysql=/usr/bin --with-mysql-lib=/usr/lib64/mysql --with-mysql-include=/usr/include/mysql 

make
make install

如果没有管理员权限的话可以安装在用户自己的目录下,通过设置“–prefix=/home/usr/local/installdir”目录,如果配置时出现”
configure: error: The MySQL library cannot be found. “找不到MySQL库,但是mysql已经安装了,那是因为配置程序在固定位置找不到所需要库,可以手动指定mysql库所在位置,如果是用yum安装的可以使用“–with-mysql-lib=/usr/lib64/mysql –with-mysql-include=/usr/include/mysql”指定mysql及库所有的位置,如果不是yum安装的,自己也不知道安装在哪里,可以使用“whereis mysql”查找mysql安装的位置,然后更改为其位置。

由于默认多线程是不开启的,如果需要开启,配置时添加–enable-thread-check这个参数,但是会显示”Didn’t find mysqlclient_r library in “这个错误,找不半天还是没有解决这个错误,最后还是去掉这个参数,舍弃多线程。

如果其它程序需要调用mysql++,但却显示找不到mysql++库,可以运行下面程序:

echo "/usr/local/lib64" > /etc/ld.so.conf
ldconfig
ln -s /usr/local/lib/libmysqlpp.so /usr/lib/libmysqlpp.so 

如果是安装在用户自己的目录下,把“/usr/local/lib64″更改成安装目录的库文件夹,libmysqlpp.so的位置也做相应的修改。

centOS7 安装mysql5.7

mysql5.7相比较mysql5.6而言,有很大进步,特别对于安装来说,要简单得多。现将方法简介而下。
前两步和安装mysql5.6相同。
1、卸载mariadb
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64
###会提示错误:依赖检测失败
###加上–nodeps参数强制卸载
rpm -e –nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
如果找不到就用yum -y remove mariadb-libs.x86_64
2、下载mysql5.7
进入mysql下载官网,点击左上方的“Community”,选择平台“Red Hat Enterprise Linux”,下载此版本下的mysql-5.7.11-1.el7.x86_64.rpm-bundle.tar(大小为520.7M),如果点击Download会提示你要先登录Oracle帐户,如果没有帐户或者不想登录,可以点击下方的“No thanks,just start my download”,也可一个FTP站点下载,里面包含了几乎所有的mysql版本。
3、安装
解压:tar xvf mysql-5.7.11-1.el7.x86_64.rpm-bundle.tar ,先安装“rpm -ivh mysql-community-common-5.7.11-1.el7.x86_64.rpm”,然后“mysql-community-libs-5.7.11-1.el7.x86_64.rpm”,再“mysql-community-client-5.7.11-1.el7.x86_64.rpm”,“mysql-community-devel-5.7.11-1.el7.x86_64.rpm”,最后“mysql-community-server-5.7.11-1.el7.x86_64.rpm”。
安装后mysql的主要文件如下:
MySQL Installation Layout for Linux RPM Packages from the MySQL Developer Zone

Files or Resources Location
Client programs and scripts /usr/bin
mysqld server /usr/sbin
Configuration file /etc/my.cnf
Data directory /var/lib/mysql
Error log file For RHEL, Oracle Linux, CentOS or Fedora platforms: /var/log/mysqld.log

For SLES: /var/log/mysql/mysqld.log

Value of secure_file_priv /var/lib/mysql-files
System V init script For RHEL, Oracle Linux, CentOS or Fedora platforms: /etc/init.d/mysqld

For SLES: /etc/init.d/mysql

Systemd service For RHEL, Oracle Linux, CentOS or Fedora platforms: mysqld

For SLES: mysql

Pid file /var/run/mysql/mysqld.pid
Socket /var/lib/mysql/mysql.sock
Keyring directory /var/lib/mysql-keyring
Unix manual pages /usr/share/man
Include (header) files /usr/include/mysql
Libraries /usr/lib/mysql
Miscellaneous support files (for example, error messages, and character set files) /usr/share/mysql

3、初始化
切换到root用户,启动服务“service mysqld start”,找到root用户的初始密码“grep ‘temporary password’ /var/log/mysqld.log”,用找到的密码登录root用户“mysql -uroot -p ”,改密码“mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘yourpasswd’; ”。

centOS7 安装mysql5.6

因为mysql被Oracle收购后会逐渐走向收费,为避免以后的版权纠纷,centos7已经不支持mysql,而是内部集成mariadb代替,而安装mysql的话会和mariadb产生文件冲突,所以安装mysql前要先卸载mariadb。
1、卸载mariadb
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64
###会提示错误:依赖检测失败
###加上–nodeps参数强制卸载
rpm -e –nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
如果找不到就用yum -y remove mariadb-libs.x86_64
2、下载mysql5.6
centos7等同与Red Hat7,下载此版本下的MySQL-client-5.6.21-1.el7.x86_64 .rpm MySQL-server-5.6.21-1.el7.x86_64.rpm就可以了,如果点击Download会提示你要先登录Oracle帐户,如果没有帐户或者不想登录,在其它地方下载相同的包也可以,如果不想在其它地方找又没有Oracle帐户,顺便注册一个就可以了。
如果嫌麻烦,也可一个FTP站点下载,里面包含了几乎所有的mysql版本。
3、安装mysql
进入到安装包所在目录
rpm -ivh MySQL-client-5.6.21-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.21-1.el7.x86_64.rpm
也可从源代码安装,不过先得安装cmake,软件包为mysql-5.6.24.tar.gz
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc
make
make install
4、生成mysql系统数据库
如果你马上登录mysql会提示找不到/var/lib/mysql/下的sock文件,因为还没有生成系统数据库。
mysql_install_db –user=mysql –basedir=/usr/share/mysql
###生成mysql系统数据库
5、登录mysql
mysql_install_db –random-passwords
###生成随机密码
随机密码保存在$HOME/.mysql_secret文件中,打开这个文件,找到密码。
mysql -u=root -p
###登录mysql,输入随机密码
6、修改root密码
mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘yourpassword’);
###这时不要想着运行其它语句,初次登录时只能改密码
退出mysql
7、添加用户和数据库
用新密码重新登录数据库,创建用户和数据库