银河麒麟V10(Kylin Linux V10)之MySQL编译安装
安装方法:
(1)拷贝插件 boost_1_59_0.tar.gz (当前插件可在资源链获取)到服务器(/home/boost_1_59_0.tar.gz)目录
(2)可以将插件也上传到同一个目录下面方便安装
(3)拷贝数据库 mysql-5.6.37.tar.gz (文章最底部有数据库下载地址)数据库放在(/home/mysql-5.6.37.tar.gz)目录
(4)可以将数据库放在同一个目录下面方便安装
(5)安装包上传到服务器后进行解压,得到/home/mysql-5.6.37目录。
(6)解压boost_1_59_0.tar.gz文件 解压命令(tar -zxvf mysql-boost-5.7.27.tar.gz)
(7)解压到目录 /home/mysql-5.6.37/boost/boost_1_59_0
(8) 进入“/home/mysql-5.6.37”源码文件夹,并建立一个编译目录。
(9)进入命令 cd /home/mysql-5.6.37
(10)创建编译文件目录 mkdir build
(11)进入编译目录,配置MySQL。
(12)cd build
(13)cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/home/data/mysql -DMYSQL_DATADIR=/home/data/mysql/data -DWITH_BOOST=/home/mysql-5.6.37/boost/boost_1_59_0
(14)数据库编译完成之后进行安装操作
(15)make -j 8 install
(16)安装完成之后检查数据库版本
(17)/home/data/mysql/bin/mysql --version
(18)初始化数据库,MySQL安装后需要一个能登录的用户,因此需要初始化,创建授权表,解决方案:
(19)cd /home/data/mysql
(20)执行如下命令
(21)chown -R mysql .
(22)chgrp -R mysql .
(23)/home/data/mysql/scripts/mysql_install_db --user=mysql
(24)最后启动数据库
(25)systemctl start mysqld
常见问题:
查看是否安装g++
命令:g++ -v
如果没有安装,请执行下面命令进行安装。
命令:sudo yum install -y gcc-c++
源码安装MySQL或者mariadb的时候,在cmake的时候会遇到各种报错。
遇到 Curses library not found. Please install appropriate package 是其中一种报错
原因:是因为没有安装依赖,使用yum安装一下即可。(要根据提示的依赖名,在安装的时候后面增加-devel)
yum -y install ncurses-devel
如果还遇到其他报错,只需要根据报错的提示来安装对应的依赖,比如上面的报错提示是让你安装curses,所以需要装ncurses-devel这个环境依赖,然后再次cmake就行了
cp /home/data/CarEye/mysql/support-files/mysql.server /etc/init.d/mysqld
执行命令:service mysqld start
报错:
Starting MySQL.Logging to ‘/usr/local/mysql/data/localhost.localdomain.err’.
. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
解决方式一:
问题原因是因为你没有初始化数据库,MySQL安装后需要一个能登录的用户,因此需要初始化,创建授权表,解决方案:
cd /home/data/mysql
chown -R mysql .
chgrp -R mysql .
/home/data/CarEye/mysql/scripts/mysql_install_db --user=mysql
数据库下载地址:
下载地址:https://dev.mysql.com/downloads/mysql/

0 条评论
普通用户
- 从业日期: 2014/03/20
- 性别: 男
每天搬一点,幸福多一点
发帖数
源码数
接单
获赞
获评
{{commentItem.nickName}}
{{formatIntervalTime(commentItem.createTime)}}{{childComment.nickName}} {{childComment.replyNickName}}
{{formatIntervalTime(childComment.createTime)}}