mysql官网下载地址:https://dev.mysql.com/downloads/mysql/

参考安装:https://blog.51cto.com/snowlai/2140451?source=dra

 

1、查看是否有旧版本的mysql

rpm -qa | grep mysql

2、卸载

yum remove mariadb-libs.x86_64 (其中mariadb-libs.x86_64为包名)

3、下载mysql压缩包

https://dev.mysql.com/downloads/mysql/ 注意:下载带boost的包:mysql-boost-8.0.11.tar.gz

4、安装依赖包(root用户下)

yum -y install make gcc-c++ cmake bison-devel ncurses-devel

5、创建mysql用户及组,只用于服务,不可用于登录(root用户下)

groupadd mysql

useradd -g mysql mysql -M -s /sbin/nologin

6、检查包的完整性

md5sum mysql-boost-8.0.11.tar.gz

7、解压mysql包(root权限)

tar -zxvf mysql-boost-8.0.11.tar.gz -C /usr/local

8、运行cmake

cmake \

-DFORCE_INSOURCE_BUILD = 1\

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/local/src/mysql-8.0.17/boost \

-DWITH_DEBUG=1 \

-DCMAKE_INSTALL_PREFIX=/usr/local/src/mysql-8.0.17/mysql \

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

-DSYSCONFDIR=/etc \

-DEFAULT_CHARSET=utf8mb4 \

-DDEFAULT_COLLATION=utf8mb4_general_ci \

-DENABLED_LOCAL_INFILE=1 \

-DEXTRA_CHARSETS=all

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.17/boost

解释其含义:

DCMAKE_INSTALL_PREFIX=/usr/local/mysql #cmake预编译

DMYSQL_DATADIR=/usr/local/mysql/data #MySQL数据库存放路径

DSYSCONFDIR=/etc #配置文件路径

DWITH_MYISAM_STORAGE_ENGINE=1 #开启MYISAM引擎支持

DWITH_INNOBASE_STORAGE_ENGINE=1 #开启InnoDB引擎支持

DWITH_MEMORY_STORAGE_ENGINE=1 #开启MEMORY引擎支持

DWITH_PARTITION_STORAGE_ENGINE=1 #开启PARTITION引擎支持

DWITH_READLINE=1 #启用快捷键功能

DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock #socket通信文件为至

DMYSQL_TCP_PORT=3306 #MySQL监听端口

DMYSQL_USER=mysql #mysql运行用户

DENABLED_LOCAL_INFILE=1 #允许从本地导入数据

DEXTRA_CHARSETS=all #安装所有扩展字符集

DDEFAULT_CHARSET=utf8 #默认字符集为utf8

DDEFAULT_COLLATION=utf8_general_ci #检查字符

 

9、删除或重命名CMakeCache.txt

mv CMakeCache.txt CMakeCache.txt.bk

10、编译

make

make install

11、切换目录/usr/local/mysql/bin下,初始化mysql,此时用户名密码为空

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

12、配置启动脚本

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

chkconfig --add mysqld

chkconfig mysqld on

13、启动mysql

service mysqld start

输出结果:Starting MySQL SUCCESS!

14、验证进程

ps -ef | grep mysqld

15、本机登录数据库

./mysql -uroot -p

16、查看使用的数据库引擎

mysql> SHOW ENGINES;

17、查看创建的数据库

mysql> show databases;

18、更新数据库用户名密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

flush privileges;

 

QA

Q1、出现如下问题,是gcc版本过低 

A:

1、gcc版本过低,mysql8.X版本要求gcc版本为5.3以上版本,centos7默认gcc版本为4.8

升级到6.3

yum -y install centos-release-scl

yum -y install devtoolset-6-gcc devtoolset-6-gcc-c++ devtoolset-6-binutils

scl enable devtoolset-6 bash

//注意:此时 如果关闭shell则gcc会恢复原来版本号

echo "source /opt/rh/devtoolset-7/enable" >>/etc/profile

//执行这句后 则长期更改为6.3版本

 

2、更新cmake3

1、下载cmake3

wget https://cmake.org/files/v3.10/cmake-3.10.0-rc3.tar.gz

2、解压cmake源码包

tar -zxvf cmake-3.10.0-rc3.tar.gz

3、进入目录,设置,编译,链接

cd cmake-3.10.0-rc3/

./bootstrap

gmake

gmake install

4、编译

hash -r

5、查看版本

cmake --version