++

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

阿里云 windows 版本为 mysql 5.7

之后下载 boost库 ()

 wget https://jaist.dl.sourceforge.net/project/boost/boost/1.61.0/boost_1_61_0.tar.gz

先后尝试编译安装 boost_1_64_0.tar.gz 及 boost_1_61_0.tar.gz

 

都在编译过程中出错了

最后安装了 boost_1_64_0 到 /usr/local 目录下 就是分别把头文件拷贝到了  /usr/local/include 把lib 拷贝到了  /usr/local/lib 时间为 Jun 17 17:42

而且之前就己安装了boost 库(通过yum命令安装的 未查什么版本) 

sh ./bootstrap.sh 配置 

./b2 编译

./b2 install --prefix=/usr/local/ 安装

腾讯云 3.10.0-514.21.1.el7.x86_64 CentOS 7.3 64位

想在 腾讯云使用mysql++ 首先需要安装mysql

mysql源码安装

首先下载 mysql源码 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22.zip

 wget https://sourceforge.mirrorservice.org/b/bo/boost/boost/1.59.0/boost_1_59_0.tar.gz 

或者  wget  https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.22.tar.gz

手动下载 wget https://sourceforge.mirrorservice.org/b/bo/boost/boost/1.59.0/boost_1_59_0.tar.gz 

这个版本的安装脚本里就是写死的 会去下载 boost_1_59_0.tar.gz ,这里先下载好。

然后解压mysql 

cmake 就是配置 makefile 的意思  这里在 参数-DWITH_BOOS 指定  boost_1_59_0.tar.gz 所在的目录

 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.22.tar.gz

mysql   用户及目录规划

 groupadd mysql

 useradd -r -g mysql -s /sbin/nologin mysql

mysql软件目录: /app/mysql/mysql_home
mysql数据目录:/app/mysql/mysql_data
mysql日志目录:/app/mysql/mysql_log

//对目录授权
chown -R mysql.mysql mysql/

解压mysql后进入目录进行配置编译

cmake .  -DCMAKE_INSTALL_PREFIX=/app/mysql/mysql_home   -DMYSQL_DATADIR=/app/mysql/mysql_data   -DDOWNLOAD_BOOST=1   -DWITH_BOOST=/app/mysql-5.7.22/boost   -DSYSCONFDIR=/etc   -DWITH_INNOBASE_STORAGE_ENGINE=1   -DWITH_PARTITION_STORAGE_ENGINE=1   -DWITH_FEDERATED_STORAGE_ENGINE=1   -DWITH_BLACKHOLE_STORAGE_ENGINE=1   -DWITH_MYISAM_STORAGE_ENGINE=1   -DENABLED_LOCAL_INFILE=1   -DENABLE_DTRACE=0   -DDEFAULT_CHARSET=utf8   -DDEFAULT_COLLATION=utf8_general_ci   -DWITH_EMBEDDED_SERVER=1

这时需要引用boost库 脚本中自动会下载 boost 1.59到 解压后根目录下 ./boost目录下 因为被墙 失败

这时手动下载 wget https://sourceforge.mirrorservice.org/b/bo/boost/boost/1.59.0/boost_1_59_0.tar.gz 

然后自脚本会自动解压 进行编译配置 

 

然后是 make 编译

报错内存不足

g++: internal compiler error: Killed (program cc1plus)

开启虚拟内存

$dd if=/dev/zero of=/data/swap_add bs=1M count=2048

$mkswap /data/swap_add

$swapon /data/swap_add $swapon -s

 make install 安装

新建新的配置文件/etc/my.cnf

[client]
port=3306
socket=/app/mysql/mysql_data/mysql.sock
default-character-set=utf8
[mysqld]
port=3306
user=mysql
socket=/app/mysql/mysql_data/mysql.sock
pid-file=/app/mysql/mysql_data/mysql.pid
basedir=/app/mysql/mysql_home
datadir=/app/mysql/mysql_data
tmpdir=/app/mysql/mysql_tmp
character-set-server=utf8
log_error=/app/mysql/mysql_log/mysql.err

server-id=2
log_bin=/app/mysql/mysql_log/binlog

general_log_file=/app/mysql/mysql_log/general_log
general_log=1

slow_query_log=ON
long_query_time=2
slow_query_log_file=/app/mysql/mysql_data/query_log
log_queries_not_using_indexes=ON

 

进到bin目录 初始化数据库

./mysqld --initialize-insecure --user=mysql --basedir=/app/mysql/mysql_home --datadir=/app/mysql/mysql_data

安装ssl,可指定文件生成路径,默认为DATA里面

./mysql_ssl_rsa_setup 

复制一些 init程序

  cp /app/mysql/mysql_home/support-files/mysql.server /etc/init.d/mysqld

执行 /etc/init.d/mysqld start 

这时报启动错误 缺少mysql.pid 网上说是因为没有这个文件的权限 重新设置权限 

再试 还是报错,然后通过查mysql日志

日志报错说有的表不存在 然后把 mysql_data  里面的东西都删了再用安装数据库脚本执行一下 再试就可以了

./mysql_install_db --user=mysql --basedir=/app/mysql/mysql_home --datadir=/app/mysql/mysql_data

报错说有的表不存在 然后把 mysql_data  里面的东西都删了再用安装数据库脚本执行一下 再试就可以了

./mysql_install_db --user=mysql --basedir=/app/mysql/mysql_home --datadir=/app/mysql/mysql_data

删除 data目录下面的所有东西再试 执行 /etc/init.d/mysqld start 

启动成功

然后在安装目录下面用 ./mysql命令报错

原因是之前己通过命令安装 ,虽然卸载了但密码还没清除   

先在配置里

[mysqld]
skip-grant-tables 加这句忽略密码验证

修改密码

mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',

原来是mysql数据库下已经没有password这个字段了,password字段改成了
update mysql.user set authentication_string=password('你的新密码') where user='root' ;

ok 成功

 

 

mysql前置工具包安装
yum install gcc gcc-c++ libgcc cmake ncurses-devel openssl-devel
mysql 编译时多进程选项
make -j `grep processor /proc/cpuinfo | wc -l` && make install


mysql 安装的几个错误
Starting MySQL./etc/init.d/mysqld:行181: log_failure_msg: 未找到命令
脚本 /etc/init.d/mysqld 缺少函数
添加
function log_failure_msg() {
echo "$@" "[ FAILED ]"
}
function log_success_msg() {
echo "$@" "[ OK ]"
}
function log_warnning_msg() {
echo "$@" "[ Warn ]"
}
log_success_msg()
{
echo " SUCCESS! $@"
}
log_failure_msg()
{
echo " ERROR! $@"
}
log_warnning_msg()
{
echo " Warnning! $@"
}

跳过登陆
vim /etc/my.cnf
[mysqld]
skip-grant-tables
/etc/init.d/mysqld restart
跳过登陆后没权限
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)
grant all privileges on *.* to 'skip-grants user'@'skip-grants host' identified by ".";
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 错误。则执行下 flush privileges
flush privileges;
/etc/init.d/mysqld restart


ps -ef|grep mysqld
kill -9

 

#列出所有被安装的rpm package
rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.5.35-3.el7.x86_64
执行报错:
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
错误:没有依赖关系:
libmysqlclient.so.18()(64位)是需要的(安装)postfix-2:2.10.1-6.el7.x86_64。
libmysqlclient.so.18(libmysqlclient_18)(64位)是需要的(安装)postfix-2:2.10.1-6.el7.x86_64。
#强制卸载
  rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

 

手动安装前置工具包 ,这些具体的再看,有时间再从源码安装一遍

yum install gcc gcc-c++ libgcc cmake ncurses-devel openssl-devel

https://files-cdn.cnblogs.com/files/lishuaicq/ncurses-6.2.tar.gz

http://mirrors.kernel.org/gnu/automake/automake-1.11.4.tar.gz

http://mirror.hust.edu.cn/gnu/libtool/libtool-2.4.6.tar.gz

http://www.zlib.net/fossils/zlib-1.2.5.3.tar.gz

http://ftp.gnu.org/old-gnu/libstdc++/libstdc++-2.8.1.1.tar.gz

http://mirrors.kernel.org/gnu/m4/m4-1.4.18.tar.gz

http://mirrors.kernel.org/gnu/autoconf/autoconf-2.69.tar.gz

http://mirrors.kernel.org/gnu/automake/automake-1.16.tar.gz

http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz

http://mirror.hust.edu.cn/gnu/libtool/libtool-2.4.6.tar.gz

https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz

posted on 2018-06-17 19:31  自制力缺失症患者  阅读(150)  评论(0编辑  收藏  举报