linux系统centos6.8源码包安装mysql5.7.10

时间:2022-12-22 10:26:51

系统环境centos6.8安装mysql方式源码包,版本5.7.10

linux系统centos6.8源码包安装mysql5.7.10

1 首先下载这两个包,下载后上传到服务器端

我放在/Data/tools目录下

2 安装依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl cmake

3 安装boost

tar -zxf boost_1_59_0.tar.gz  #解压

mv boost_1_59_0 /usr/local/boost  #把解压后的文件夹移到指定目录

4 安装mysql

useradd -M -s /sbin/nologin mysql  #设置一个不可登陆的用户

 tar -zxf mysql-5.7.10.tar.gz #解压mysql

cd mysql-5.7.10 #进入目录

#检测编译

cmake . \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

 -DMYSQL_DATADIR=/usr/local/mysql/data \

 -DDEFAULT_CHARSET=utf8 \

 -DDEFAULT_COLLATION=utf8_general_ci \

 -DMYSQL_TCP_PORT=3306 \

 -DMYSQL_USER=mysql \

 -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 \

 -DENABLE_DOWNLOADS=1 \

 -DDOWNLOAD_BOOST=1 \

 -DWITH_BOOST=/usr/local/boost

然后安装mysql

make && make install

5 设置启动脚本

 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld #给予执行权限

6 初始化变量

cd /usr/local/mysql/

bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7 配置my.cnf  (注意  这里安装的是5.7.10版本,最新的5.7.20版本和这里的配置方法不同,具体下次博客写)

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

vi /etc/my.cnf

在[mysqld]后面加入如下内容

#skip-grant-tables=1   # 忘记密码时需要

socket=/var/lib/mysql/mysql.sock     # 指定socket文件位置

log-error=/var/log/mysql/mysql_error.log     # 指定错误日志位置

init-connect='SET NAMES utf8mb4'

character-set-server=utf8mb4

[client]

socket=/var/lib/mysql/mysql.sock

default-character-set=utf8

记得最后一行代码记得注释掉,不然下面的安装会报错

linux系统centos6.8源码包安装mysql5.7.10

8 创建一个日志目录

mkdir -p /var/log/mysql

 /etc/init.d/mysqld start

9登陆mysql

yum -y install mysql #安装客户端

/etc/init.d/mysqld start

开发mysql后查看服务是否正常运行

ps aux | grep mysql #如下图就是正常的

linux系统centos6.8源码包安装mysql5.7.10

设置mysql密码

mysql>  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');  

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

打完这条命令后会报错,具体因为什么我也不知道,但是刷新就好了。

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

继续设置mysql密码

mysql>  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Hqss20170517');

Query OK, 0 rows affected, 1 warning (0.00 sec)

给root权限

mysql> grant all 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)

mysql> \q

 

此时已经安装完成mysql

点一杯星巴克庆祝一下

linux系统centos6.8源码包安装mysql5.7.10