热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxCentOS7安装MySql8.0.11全攻略

一.软件准备Linux系统下载地址:http:isoredirect.centos.orgcentos7isosx86_64CentOS-7-x86_64-DVD-1708

一.软件准备

Linux系统下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso

cmake与依赖包 下载地址:https://download.csdn.net/download/qq_38118019/10394513

mysql8.0.11下载地址: https://download.csdn.net/download/qq_38118019/10394497

1.安装 gcc、gcc++

1.1 解压centOS7安装镜像文件(.iso),在Packages文件夹中找到下列rpm安装包上传至Linux服务器中
autogen-libopts-5.18-5.el7.x86_64.rpm
cpp-4.8.5-16.el7.x86_64.rpm
gcc-4.8.5-16.el7.x86_64.rpm
gcc-c++-4.8.5-16.el7.x86_64.rpm
glibc-devel-2.17-196.el7.x86_64.rpm
glibc-headers-2.17-196.el7.x86_64.rpm
kernel-headers-3.10.0-693.el7.x86_64.rpm
keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
krb5-devel-1.15.1-8.el7.x86_64.rpm
libcom_err-devel-1.42.9-10.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
libselinux-devel-2.5-11.el7.x86_64.rpm
libsepol-devel-2.5-6.el7.x86_64.rpm
libstdc++-devel-4.8.5-16.el7.x86_64.rpm
libverto-devel-0.2.5-4.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm
ncurses-devel-5.9-13.20130511.el7.x86_64
ntp-4.2.6p5-25.el7.centos.2.x86_64.rpm
ntpdate-4.2.6p5-25.el7.centos.2.x86_64.rpm
openssl098e-0.9.8e-29.el7.centos.3.x86_64.rpm
openssl-1.0.2k-8.el7.x86_64.rpm
openssl-devel-1.0.2k-8.el7.x86_64.rpm
openssl-libs-1.0.2k-8.el7.x86_64.rpm
pkgconfig-0.27.1-4.el7.x86_64.rpm
tcl-8.5.13-8.el7.x86_64.rpm
zlib-1.2.7-17.el7.x86_64.rpm
zlib-devel-1.2.7-17.el7.x86_64.rpm

1.2 进入CentOS下,存放上述.rpm文件的目录,执行
rpm -Uvh *.rpm --nodeps --force

2.安装cmake
tar -xzvf cmake-3.11.1.tar.gz
cd cmake-3.11.1
./bootstrap
make && make install


3.安装mysql8
3.1 创建用户密码、安装目录和数据目录
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
passwd mysql
设置新密码为:1q2w#E$R
mkdir -p /usr/local/mysql
mkdir -p /data/mysql
mkdir -p /home/mysql/run/mariadb
mkdir -p /home/mysql/log/mariadb
touch /home/mysql/run/mariadb/mariadb.log
touch /home/mysql/run/mariadb/mariadb.pid

3.2 安装mysql8
tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local
cd /usr/local/mysql-8.0.11
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.11/boost 
make  && make install
cd /usr/local/mysql/bin

3.3 配置my.cnf文件
vi /etc/my.cnf

[mysqld]
skip-grant-tables#这个是用来定义跳过密码,必要时添加,一般不要加
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd


[mysqld_safe]
log-error=/home/mysql/log/mariadb/mariadb.log
pid-file=/home/mysql/run/mariadb/mariadb.pid


    ##请根据实际情况添加参数


   3.4 目录权限修改
chown -R root:root /usr/local/mysql
chown -R root:root /data/mysql
chown -R root:root /home/mysql/run/mariadb
chown -R root:root /home/mysql/log/mariadb
chmod 777 /usr/local/mysql -R
chmod 777 /data/mysql -R
chmod 755 /home/mysql/run/mariadb -R
chmod 755 /home/mysql/log/mariadb -R


  3.5 初始化
./mysqld --initialize --user=mysql --datadir=/data/mysql/
./mysql_ssl_rsa_setup

3.6 添加到启动
cp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/
chkconfig --add mysql.server

   3.7 启动mysql
./mysqld --defaults-file=/etc/my.cnf --user=root &
( 关闭方法为 service mysql.server stop
service mysql.server {start|stop|restart|reload|force-reload|status})


   3.8 修改账号密码
/usr/local/mysql/bin/mysql  -uroot -p
//如果密码怎么输都不对的话,可以修改my.cnf文件,添加skip-grant-tables参数 然后执行service mysql.server stop 关闭mysql,然后再执行./mysqld --defaults-file=/etc/my.cnf --user=root & 启动数据库,然后再执行/usr/local/mysql/bin/mysql  -uroot -p登录数据库,这时就不需要密码了

mysql> alter user 'root'@'localhost' identified by "123456";
//如果启用了skip-grant-tables,则无法修改密码,此时需要修改my.cnf文件,去掉skip-grant-tables,并在另一个窗口执行service mysql.server reload,这样就可以绕过输入密码进入mysql,从而实现修改密码。后期忘记密码也可这么做。


        mysql> show databases;
        +--------------------+
        | Database          |
        +--------------------+
        | information_schema |
        | mysql              |
        | performance_schema |
        | sys                |
        +--------------------+
4 rows in set (0.00 sec)


  3.9 添加远程特账号
    mysql> create user root@'%' identified by '123456';
    Query OK, 0 rows affected (0.08 sec)


    mysql> grant all privileges on *.* to root@'%';
    Query OK, 0 rows affected (0.04 sec)


    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

mysql> exit


   3.10 创建软链接(非必要)
ln -s /usr/local/mysql/bin/* /usr/local/bin/
mysql -h 127.0.0.1 -P 3306 -uroot -p123456 -e "select version();"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    +-----------+
    | version() |
    +-----------+
    | 8.0.11    |
    +-----------+

3.11 开放Linux端口
cd /sbin
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
(
/etc/rc.d/init.d/iptables save #保存配置 
/etc/rc.d/init.d/iptables restart #重启服务 
保存端口开放可以使得下次服务器重启时自动开放此端口,但是centos7会报文件找不到,由于我是本地虚拟机测试用,所以不做深入研究,每次启动执行下端口开放即可
)



安装完后,如果用客户端连接,比如navicat会报1251错误,这是因为mysql8默认采用了新的加密规则,navicat暂时不支持,我们需要吧mysql8的加密规则改为旧的

4.1 配置my.cnf文件 
加入default_authentication_plugin=mysql_native_password
vi /etc/my.cnf

[mysqld]
#skip-grant-tables
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/data/mysql/
socket=/data/mysql/mysql.sock
default_authentication_plugin=mysql_native_password
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd


[mysqld_safe]
log-error=/home/mysql/log/mariadb/mariadb.log
pid-file=/home/mysql/run/mariadb/mariadb.pid

4.2 重启mysql
service mysql.server stop
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --user=root&

4.3 登入mysql
/usr/local/mysql/bin/mysql  -uroot -p123456

4.3.1 (个人推测)由于修改了加密规则,会导致旧密码无法使用,需要先修改/etc/my.cnf 启用skip-grant-tables
4.3.2  登入 /usr/local/mysql/bin/mysql  -uroot -p123456 此时能登陆成功。
(由于开启了skip-grant-tables,无法修改密码,需要再修改/etc/my.cnf 注释掉skip-grant-tables)
4.3.3  当前的mysql登陆不能退出,需要再另一个窗口重新打开Linux连接,修改/etc/my.cnf 注释掉skip-grant-tables,并执行service mysql.server reload。


4.4 重新设置密码
mysql>ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

4.5 navicat重新连接成功

推荐阅读
  •  参考自:https:linux.cnarticle-6719-1.html一、安装  首先通过xshell5先登陆来到字符界面(xshell通过SSH连接请参见之前随笔)  先下载redis, ... [详细]
  • centos7如何利用yum安装mysql 8.0.12
    这篇文章将为大家详细讲解有关centos7如何利用yum安装mysql8.0.12,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 如何在Linux系统上部署MySQL 5.7.28
    本文详细介绍了在Linux系统上部署MySQL 5.7.28的具体步骤。通过官方下载页面获取最新安装包后,按照提供的指南进行配置和安装。文章内容实用性强,适合初学者和有经验的管理员参考。 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • 在无网络环境下于CentOS 7系统中离线部署Nginx服务器
    nginx背景俄罗斯程序员IgorSysoev创建,于2004年NGINX首次发布,来解决C10K问题(10000并发客户端连接到单个服务器,导致服务器连接数过多崩溃的问题),是一 ... [详细]
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • 首先安装VM,VM破解版和激活版的百度有很多,随意下载一个下载CentOS7地址1:https:mirrors.btte.netcentos7isosx86_64地址2:http: ... [详细]
  • 本文深入探讨了数据库性能优化与管理策略,通过实例分析和理论研究,详细阐述了如何有效提升数据库系统的响应速度和处理能力。文章首先介绍了数据库性能优化的基本原则和常用技术,包括索引优化、查询优化和存储管理等。接着,结合实际应用场景,讨论了如何利用容器化技术(如Docker)来部署和管理数据库,以提高系统的可扩展性和稳定性。最后,文章还提供了具体的配置示例和最佳实践,帮助读者在实际工作中更好地应用这些策略。 ... [详细]
  • 本指南详细介绍了如何使用 `apt-get` 命令在 Ubuntu 系统上部署 MySQL 5、Apache 2、PHP 5 及 phpMyAdmin。首先,建议读者查阅 Ubuntu 的官方文档以获取更多背景信息。通过本文,您将逐步了解每个软件包的安装过程及其配置方法,确保系统环境的稳定性和安全性。此外,还将提供一些常见问题的解决方案,帮助用户顺利完成部署。 ... [详细]
  • 本文介绍了在 Android 平台上的图片上传工具类优化方案,重点讨论了如何通过设置 `MultipartEntity` 来实现图片的高效上传。具体实现中,通过自定义 `UserUploadServiceImpl` 类,详细展示了如何构建和发送包含图片数据的 HTTP 请求。此外,还探讨了如何处理上传过程中的常见问题,如网络异常和文件格式验证,以确保上传的稳定性和可靠性。 ... [详细]
  • Linux静默安装Oracle 11g教程
    准备工作在电脑中下载linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.ziphttp:download.oracle.comotnlinuxoracle11gR2l ... [详细]
  • 1、#whichmysqld查看mysql的命令路径usrsbinmysqld2、#usrsbinmysqld--verbose--help|grep- ... [详细]
  • asp.net core 应用docke部署到centos7
    前言前期准备win10(不要安装hyper-V)VMware-Workstation-Pro15.0Xshell6(非必需)VS2019以上环境请自行安装都是默认安装没什么可说的不 ... [详细]
  • 基于CentOS7的服务器环境搭建(LAMP环境)一、安装MySQL组件  1.由于在CentOS7中,默认yum安装库中不含有mysql,我们可以下载mysql的分支Mari ... [详细]
author-avatar
白羊幸福的佳佳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有