mysql的安装编译

1)解压安装mysql
tar zxf mysql-boost-5.7.17.tar.gz

2)安装cmake(相当于configure),用来编译mysql
yum install -y cmake-2.8.12.2-4.el6.x86_64.rpm 同时解决依赖性

3)cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \ #安装目录
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \ #数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安装 innodb 存储引擎
-DDEFAULT_CHARSET=utf8 \ #使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
-DEXTRA_CHARSETS=all #安装所有扩展字符集

4)根据提示解决依赖性问题
需要安装包:yum install -y gcc gcc-c++ ncurses-devel

##报错##
CMake Error at cmake/boost.cmake:81 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=

This CMake script will look for boost in . If it is not there,
it will download and unpack it (in that directory) for you.

If you are inside a firewall, you may need to use an http proxy:

export http_proxy=http://example.com:80

‘重新编译时,需要清除原来的对象文件和缓存信息’
‘make clean;rm -fr CmakeCache.txt’

##解决##
缺少 -DWITH_BOOST= 参数 -DWITH_BOOST=boost/boost_1_59_0/ (可Tab补齐)

后面编译会有一个warning:
CMake Warning at cmake/bison.cmake:20 (MESSAGE):
Bison executable not found in PATH
Call Stack (most recent call first):
sql/CMakeLists.txt:514 (INCLUDE)

##解决##
yum install -y bison

5)make && make install (过程较长) ##如果make还有问题,删除原来的目录,重新解压编译

6)复制启动脚本到/etc/init.d/
[root@server5 support-files]# pwd
/root/mysql-5.7.17/support-files
[root@server5 support-files]# cp mysql.server /etc/init.d/mysqld

7)将原来的/etc/my.cnf备份,重新拷贝安装包里的过去
[root@server5 etc]# cp my.cnf my.cnf.bak
[root@server5 support-files]# cp my-default.cnf /etc/my.cnf

修改配置:
basedir = /usr/local/lnmp/mysql
datadir = /usr/local/lnmp/mysql/data
socket = /usr/local/lnmp/mysql/data/mysql.sock

8)添加用户和组:
groupadd -g 27 mysql
useradd -u 27 -g 27 mysql (id=27是因为rpm默认安装时mysql用户的id为27,并非强制)

chown mysql.mysql /usr/local/lnmp/mysql -R (修改mysql目录的权限,使其对mysql用户可写)

9)将mysql命令添加到环境变量
vim ~/.bash_profile
添加:PATH= P A T H : PATH: PATH:HOME/bin:/usr/local/lnmp/mysql/bin
生效:source ~/.bash_profile

初始化mysql:
mysqld --user=mysql --initialize(以mysql用户身份初始化)
初始化会生成一个临时密码,用于登录mysql(要记住此密码)
#如:‘2019-01-03T09:06:09.448851Z 1 [Note] A temporary password is generated for root@localhost: r#9VqAoA/au:’

10)为了安全,再将mysql目录的所有者改为root
chown root /usr/local/lnmp/mysql -R
chown mysql /usr/local/lnmp/mysql/data -R ##数据目录所有者必须是mysql,不然mysql用户不能写

11)启动mysql:/etc/init.d/mysqld start

12)进入mysql:mysql -uroot -pr#9VqAoA/au: #使用刚才的临时密码
执行:show databases; 会报错
需要执行:mysql_secure_installation,然后会提示是否启用密码检测插件,直接回车不启用,否则会要求密码有大小写和特殊字符等要求
剩余全部选 y

mysql安装配置完成

你可能感兴趣的:(mysql的安装编译)