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