扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
mysql兼mariadb下载自己找自己对应的版本:
在宜君等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站设计、外贸营销网站建设 网站设计制作按需搭建网站,公司网站建设,企业网站建设,品牌网站建设,营销型网站,成都外贸网站建设公司,宜君网站建设费用合理。https://dev.mysql.com/downloads/mysql/
因为5.5以后都用cmake编译了,所以系统里没有的话,就下个源码的装一下,怎么测试系统里有没有装了,在命令行中输入#cma 在按Tab看有没有cmake 有的话系统就装过了,就不用在装了。没有话就去下个吧,下载地址:https://cmake.org/download/
还要装boost才能装cmake,boost下载地址:https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.gz/download
boost安装过程:
tar xf boost_1_59_0.tar.gz
cd boost_1_59_0
./bootstrap.sh如果有提示的话就在装下依赖库yum install gcc 如果不出现“error: no command provided, default command 'g++' not found
”问题的话,
在发现该错误时,先在系统中确认是否缺失相对应的包:
rpm -qa | grep "g++"
在确认系统未安装之后,查询可安装的相对应的功能的包:
yum whatprovides "*/g++"
在把给出的包装上,
yum install gcc-c++-4.8.5-11.el7.x86_64
yum install ncurses-devel -y 安装mysql时要的安装环境,也许你的机器还有别的没装,仔细看看,直接yum 装下就好了
接着安装boost
./b2
结束
cmake安装过程:
tar xf cmake-3.8.0-rc3.tar.gz
cd cmake-3.8.0-rc3
./configure
gmake && gmake install
解压:tar xf tar xf mariadb-5.5.46.tar.gz
cd tar xf mariadb-5.5.46
cmake . -LH查看可以配置的选项,会生成CMakeCache.txt文件
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data
-DSYSCONFDIR=/etc
-DWITHOUT_TOKUDB=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STPRAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWIYH_READLINE=1 -DWIYH_SSL=system
-DVITH_ZLIB=system
-DWITH_LOBWRAP=0
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
这里说明一下:-DCMAKE_INSTALL_PREFIX是指定安装的位置,这里是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL的数据目录,这里是/data,安装目录和数据目录都可以自定义设置,-DSYSCONFDIR是指定配置文件所在的目录,一般都是/etc ,具体的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)这样的错误,然后后面那些参数都是可选的,可以加也可以不加,最后的编码建议设置一下,所以编译指令也可以简化成下面这样:
注意:如果万一执行中有了错误,可以执行: rm -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也是报错
cmake没问题,可以编译并且安装了:
make && make install 时间有点长,耐心等待
接下来就是准备过程了:
首先我们来创建个mysql用户和mysql用户组,为什么要创呢?因为你启动服务的时候需要mysql用户来启动,别的用户还不行,你要问我为什么,那我可不知道,请去问 Michael Widenius
#groupadd -r mysql
#useradd -r -g mysql mysql
要给你的安装目录及数据目录改属主属组
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data
如果不改的话,之后你的服务肯定起不来的
接下来将配置文件和启动文件放入/etc目录 下
#cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改配置文件将我的数据目录添加进去
vim /etc/my.cnf
[mysqld]
datadir = /data
添加PATH环境变量
vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile.d/mysql.sh读取下,当前shell生效
接下来就是初始化数据库了:
初始化:
# /usr/local/mysql/mysqld --initialize --user=mysql --mysql5.7版本初始化
# /usr/local/mysql/bin/mysql_install_db --user=mysql --5.6到5.7版本
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data --5.5版本
最后就是启动数据库了:
service mysqld start
设置开机启动:
chkconfig mysqld on
之后就可以连接数据库了:
mysql
mysql> SET PASSWORD FOR root@'localhost'=PASSWORD('mysql');修改密码,不同的版本修改方式有点不同,可自己上网查下。
最后就是点小的问题解决方式:
如果没给数据目录权限的话就会出现以下的问题:
chown -R mysql:mysql datadir的位置
** 记得把之前的启动项关掉,要不然会占用PID文件,你会发现你启动不了过程
还有就是你的server-id 没有设置
killall mysqld
1、Starting MySQL.. ERROR! The server quit without updating PID file (/var/mysql/data/localhost.localdomain.pid).
像套接字文件也是这种问题:
2、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动
解决方法:去mysql的数据目录看看,如果存在mysql-bin.index,就赶快把它删除掉吧。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流