说明:
系统:阿里云的centos 7
mysql:mysql-5.6.27
一、安装相关依赖
yum -y install make cmake gcc gcc-c++ bison-devel ncurses-devel autoconf automake lrzsz zip unzip netstat-nat libevent.x86_64 libevent-devel.x86_64
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
二、安装cmake
什么是cmake(百度一下):
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
1.下载cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
2.编译安装
tar -zxvf cmake-2.8.10.2.tar.gz ##解压压缩包
cd cmake-2.8.10.2 ##打开所在的目录
./configure ##检查环境
make ##编译
make install ##安装
3.设置cmake变量
a>对profile进行编辑
vim /etc/profile
b>在文件末尾追加以下两行代码(注意路径不要写错):
PATH=/root/software/mysql/cmake-2.8.10.2/bin:$PATH
export PATHsource /etc/profile
c>使配置生效
source /etc/profile
d>查看是否生效
echo $PATH
三、安装ncurses-devel(可忽略此步骤)
1、什么是ncurses-devel
ncurses是字符终端下屏幕控制的基本库,你在TTY下登录到主机上mysql需要的,所以依赖。
2、下载
wget http://rpmfind.net
3、编译安装
可参照上面的安装cmake
四、卸载原有的MySQL
查看原有的MySQL并删除它,这点很重要,很重要,很重要
rpm -qa|grep mariadb或rpm -qa|grep mysql ##查看是否安装了mysql或maridb
yum remove mysql-libs-5.1.71-1.el6.x86_64 ##删除
五、创建mysql的安装目录和数据存放目录
mkdir -p /usr/local/mysql ##用于安装mysql
mkdir -p /usr/local/mysql/data ##用于存放数据库
六、创建mysql用户和用户组
groupadd mysql 创建mysql组
useradd -r -g mysql -s /bin/false mysql 创建mysql用户 并放入mysql组 注意:这个mysql用户没有登录系统的权限
查看
[root@iZ70h3rhkurx3iZ ~]# id mysql
uid=997(mysql) gid=1000(mysql) groups=1000(mysql)
七、编译安装mysql
1、下载mysql
wget http://mirror.neu.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz
2、解压
tar -zxvf mysql-5.6.27.tar.gz ##解压
cd mysql-5.6.27 ##打开所在目录
3、编译安装
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
编译需要时间请耐心等待
make ##编译
make install ##安装
4、检查是否成功 文件夹有下列目录说明安装成功
ll /usr/local/mysql/ ##扫描一下
total 172
drwxr-xr-x 2 root root 4096 Apr 17 18:44 bin
-rw-r--r-- 1 root root 17987 Sep 18 2015 COPYING
drwxrwxrwx 3 mysql mysql 4096 Apr 17 18:44 data
drwxr-xr-x 2 root root 4096 Apr 17 18:44 docs
drwxr-xr-x 3 root root 4096 Apr 17 18:44 include
-rw-r--r-- 1 root root 105656 Sep 18 2015 INSTALL-BINARY
drwxr-xr-x 3 root root 4096 Apr 17 18:44 lib
drwxr-xr-x 4 root root 4096 Apr 17 18:44 man
drwxr-xr-x 10 root root 4096 Apr 17 18:44 mysql-test
-rw-r--r-- 1 root root 2496 Sep 18 2015 README
drwxr-xr-x 2 root root 4096 Apr 17 18:44 scripts
drwxr-xr-x 28 root root 4096 Apr 17 18:44 share
drwxr-xr-x 4 root root 4096 Apr 17 18:44 sql-bench
drwxr-xr-x 2 root root 4096 Apr 17 18:44 support-files
八、设置mysql的权限
打开mysql所安装的目录
cd /usr/local/mysql
设置
[root@localhost mysql]# chown -R root:mysql . ## 注意后面的.
[root@localhost mysql]# chown -R mysql:mysql data
九、初始化数据库
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
十、设置环境变量
vi /root/.bash_profile
在后面追加:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH
source/root/.bash_profile ##使刚才的设置生效
cp support-files/my-medium.cnf /etc/my.cnf
十一、首次,启动mysql
首次启动是不需要密码的,提示出入密码的时候按回车就行
./bin/mysqld_safe --user=mysql & ##启动
cp support-files/mysql.server /etc/init.d/mysql ##将mysql添加到服务
启动相关命令
service mysql start 启动
service mysql stop 停止
service mysql restart 重启
service mysql reload 重载配置
如果启动失败是权限的问题
chown -R mysql:mysql /usr/local/mysql ##设置权限
再次启动
/etc/init.d/mysql start
十二、设置用户名和密码并打开远程连接
[root@localhost mysql]# mysql -u root mysql
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; ##授权,为root添加远程连接,非常重要或update user set host=’%’ where host='localhost'#可以只留host为%和127.0.0.1的两条数据
mysql> update user set Password=password("123456") where User="root"; ##设置root用户的密码
mysql> select Host,User,Password from user where User="root";
mysql> flush privileges;
mysql> exit
这个时候就可以远程连接了,和重新登录了
[root@localhost mysql]# mysql -u root -p
或者mysql -h 113.11.198.47 -u pangu -p
Enter password:123456
或者用:mysql -u root -p"123456";
十三、关闭防火墙
[root@localhost]# /etc/rc.d/init.d/iptables stop
[root@localhost]# /etc/rc.d/init.d/iptables stop
或者:
service iptables restart
service iptables stop
感谢分享
Linux CentOS7源码安装配置mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz