您的位置:首页 > 运维架构 > Linux

mysql for linux 安装--源码安装

2018-03-14 16:41 796 查看
OS环境:

官方文档参考地址:https://dev.mysql.com/doc/refman/5.7/en/source-installation.html

下载源码包

[root@localhost ~]# wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.21.tar.gz

1.环境准备,安装依赖包

系统环境:
[root@localhost mysql]# cat /etc/issue
CentOS release 6.5 (Final)

[root@localhost ~]# yum install -y  cmake make gcc* bison ncurses-devel
注:cmake 版本需要2.8以上,否则后续编译报错
[root@localhost ~]# cmake --version
cmake version 2.6-patch 4
升级cmake
[root@localhost ~]# wget  --no-check-certificate https://cmake.org/files/v3.2/cmake-3.2.2.tar.gz [root@localhost ~]# tar zvxf cmake-3.2.2.tar.gz
[root@localhost ~]# cd cmake-3.2.2
[root@localhost cmake-3.2.2]# ./bootstrap --prefix=/usr
[root@localhost cmake-3.2.2]# make && make install
[root@localhost cmake-3.2.2]# cmake --version
cmake version 3.2.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
安装boost
[root@localhost ~]# wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz [root@localhost ~]# tar zvxf boost_1_59_0.tar.gz -C /usr/local/


2.安装

2.1下载源码包

[root@localhost ~]# wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.21.tar.gz[/code] 

2.2添加用户,安装目录

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql
[root@localhost ~]# mkdir -pv /disk1/mysql
[root@localhost ~]# chown -R mysql.mysql /disk1/mysql/

a689
[/code]

2.3解压,编译,安装

[root@localhost ~]# tar -zvxf mysql-boost-5.7.21.tar.gz
[root@localhost ~]# cd mysql-5.7.21/


cmake . -DCMAKE_INSTALL_PREFIX=/disk1/mysql \

-DMYSQL_DATADIR=/disk1/mysql/data \

-DWITH_BOOST=/usr/local/boost_1_59_0 \

-DSYSCONFDIR=/etc \

-DEXTRA_CHARSETS=all \

-DEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DENABLED_LOCAL_INFILE=1 \

-DMAX_INDEXES=255

-DCMAKE_INSTALL_PREFIX:安装路径

-DMYSQL_DATADIR:数据存放目录

-DWITH_BOOST:boost源码路径

-DSYSCONFDIR:my.cnf配置文件目录

-DEXTRA_CHARSETS:安装所有字符集

-DEFAULT_CHARSET:数据库默认字符编码

-DDEFAULT_COLLATION:默认排序规则

-DENABLED_LOCAL_INFILE:允许从文本文件导入数据

-DMAX_INDEXES:每个表的最大索引数,64~255 默认64

[root@localhost mysql-5.7.21]# cmake . -DCMAKE_INSTALL_PREFIX=/disk1/mysql -DMYSQL_DATADIR=/disk1/mysql/data -DWITH_BOOST=/usr/local/boost_1_59_0 -DSYSCONFDIR=/etc -DEXTRA_CHARSETS=all -DEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DMAX_INDEXES=255

[root@localhost mysql-5.7.21]# make -j `grep processor /proc/cpuinfo | wc -l`
[root@localhost mysql-5.7.21]# make install


3.数据库配置

3.1添加环境变量

[root@localhost mysql-5.7.21]# echo 'PATH=$PATH:/disk1/mysql/bin' >> /etc/profile
[root@localhost mysql-5.7.21]# source /etc/profile


3.2初始化数据库

[root@localhost mysql-5.7.21]# ll /disk1/mysql/
drwxr-xr-x  2 root root  4096 3月  14 19:48 bin
-rw-r--r--  1 root root 17987 12月 28 11:46 COPYING
修改目录权限
[root@localhost mysql-5.7.21]# chown -R mysql.mysql /disk1/mysql/
创建配置文件
[root@localhost mysql]# vi /etc/my.cnf
[mysqld]
#server端字符集
character-set-server=utf8
collation-server = utf8_general_ci

user=mysql
port = 3306

#目录设置
basedir=/disk1/mysql
datadir=/disk1/mysql/data

# 客户端连接socket
socket=/disk1/mysql/mysql.sock

# 解决问题:TIMESTAMP with implicit DEFAULT value is deprecated
explicit_defaults_for_timestamp=true
# skip_grant_tables
[mysql]
socket=/disk1/mysql/mysql.sock
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
socket=/disk1/mysql/mysql.sock
default-character-set=utf8

[root@localhost mysql]# mysqld  --initialize-insecure --user=mysql --basedir=/disk1/mysql/  --datadir=/disk1/mysql/data


3.3配置mysqld服务及启动

配置启动脚本
[root@localhost mysql]# vi support-files/mysql.server
basedir=/disk1/mysql
datadir=/disk1/mysql/data
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
添加服务并启动
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# chkconfig --list | grep mysql
mysqld          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
[root@localhost mysql]# service mysqld start


3.4配置数据库密码

[root@localhost mysql]# mysql -u root -p
Enter password:     --空密码,直接回车
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>  FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: