CentOS 7 源码编译安装MySQL 5.7.20
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7 源码编译安装MySQL 5.7.20相关的知识,希望对你有一定的参考价值。
一、添加用户和组
1. 进入root:
su
2. 添加组:
groupadd mysql
3. 添加用户:
useradd -r -g mysql -s /bin/false mysql
二、安装
1. 首先到MySQL官网下载最新版的MySQL 5.7.14,进入http://dev.mysql.com/downloads/mysql/,选择Source Code下的Generic Linux。
2. 解压
tar zxvf mysql-5.7.20.tar.gz
3. 安装MySQL所需要的工具:
(1) CMake,一个跨平台的安装(编译)工具;
(2) gcc-c++, C++编译器;
(3) Boost库,C++语言标准库的扩展库(这里很可能会出现坑);
(4) perl,一种编程序言;
(5) bison, 一个语法分析器生成器;
(6) git,版本控制工具;
(7) curses,图形函数库。
yum install cmake gcc-c++ perl-Data-Dumper bison git ncurses-devel
4. 进入解压完的mysql-5.7.20目录,编译源码并生成makefile。
(1) 如果你的系统安装了Boost-1.59库,并且设置了环境变量,那么执行:
cmake .
(2) 如果你的系统安装了boost-1.59库,那么执行:
cmake . -DWITH_BOOST=path of boost
(3 如果系统提示Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH),说明cmake的这两个参数的值不对,那么你在上面的基础上加上两个参数:
-DCURSES_LIBRARY=/usr/lib/libncurses.so -DCURSES_INCLUDE_PATH=/usr/include
5. 编译:
make
6. 安装:
make install
MySQL将会安装到/usr/local/mysql目录。
7. 进入安装目录:
cd /usr/local/mysql
8. 创建data目录:
mkdir -m 777 data
9. 创建MySQL配置文件并进行配置:
vi /etc/my.cnf
进入编辑器之后修改以下几行(注意去掉#号):
basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /usr/local/mysql/tmp/mysql.sock #tmp目录需要手工建立,注意权限为mysql port = 3306 注意:[client][mysqld][mysqld_safe]的socket参数必须相同,否则可能第一次登陆失败 [[email protected] mysql]# bin/mysql -uroot ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/usr/local/mysql/tmp/mysql.sock‘ (2)
10. 权限设置:
chown -R mysql.mysql .
11. 初始化数据库:
bin/mysqld --initialize --user=mysql
执行完这一句后mysql会分配一个初始的密码,这个密码得备份下来。
继续执行:
bin/mysql_ssl_rsa_setup
12. 启动MySQL:
bin/mysqld_safe --user=mysql & 或者 /usr/local/mysql/support-files/mysql.server start 或者 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld 可以使用service mysqld start | restart | status | status管理 也可以使用systemctl start | restart | status | status mysqld.service
13. 登录mysql:
bin/mysql -u root -p #必须使用上面初始化产生的临时密码登录,如果忘记需要重新初始化
14. 修改密码:
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘new_password‘;
15. 远程登录权限:
GRANT ALL PRIVILEGES ON *.* TO [email protected]‘%‘ IDENTIFIED BY ‘passwd2017‘; FLUSH PRIVILEGES;
本文出自 “夜色” 博客,请务必保留此出处http://liuqun.blog.51cto.com/3544993/1983831
以上是关于CentOS 7 源码编译安装MySQL 5.7.20的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 7.4 使用源码包编译安装MySQL 5.7.20