怎么在centos7系统中安装mysql8

100次阅读
没有评论

共计 7128 个字符,预计需要花费 18 分钟才能阅读完成。

自动写代码机器人,免费开通

今天就跟大家聊聊有关怎么在 centos7 系统中安装 mysql8,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、RPM 版安装

查看是否有其他版本的数据库, 若有, 删除干净

非 root 用户必须要有 sudo 权限

1. 下载 mysql 相关安装包

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-server-8.0.18-1.el7.x86_64.rpm

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-libs-8.0.18-1.el7.x86_64.rpm

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-common-8.0.18-1.el7.x86_64.rpm

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-client-8.0.18-1.el7.x86_64.rpm

2. 其他依赖 (可以先跳过该步, 看后面安装 mysql 时缺少什么依赖就安装什么依赖)

到该网址下去寻找 gcc、gcc-c++、openssl、perl 及其依赖包

https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

3. 安装 mysql(未报错则表示安装成功)

怎么在 centos7 系统中安装 mysql8

4. 自定义配置 mysql(如果不想改变 mysql 的默认相关目录, 跳至第 6 步)

修改 Mysql 默认的配置文件内容

sudo vi /etc/my.cnf

删除所有内容, 加入以下内容:

[mysqld]
user=mysql
port=3306
datadir=/app/mysql/data
socket=/app/mysql/mysql.sock
log-error=/app/mysql/log/mysqld.log
pid-file=/app/mysql/mysqld.pid
[client]
socket=/app/mysql/mysql.sock

5. 创建配置文件中的相关目录并修改权限

sudo mkdir /app/mysql/data /app/mysql/log -p
sudo chown mysql:mysql /app/mysql -R

6. 初始化 mysql

怎么在 centos7 系统中安装 mysql8

7. 启动 mysql

若启动出错:

a. 请查看 mysql 相关目录的所属用户和所属组是否是 mysql

b. 请查看 selinux 是否关闭: 执行 sudo getenforce 得到的结果若不是 Permissive, 执行命令:sudo setenforce 0

c. 查看端口是否被占用

d. 若还是无法启动: 请查看 mysql 错误日志以及 sudo systemctl status mysqld 或者 journalctl -xe

怎么在 centos7 系统中安装 mysql8

8. 登录 mysql

查看 Mysql 的初始密码 (root@localhost: 后面的就是初始密码)

sudo cat /app/mysql/log |grep root@localhost (做过第 4 步使用该命令)
sudo cat /var/log/mysqld.log|grep root@localhost (未做过第 4 步使用该命令)

登录 mysql, 复制上面的密码

mysql -p

9. 修改 mysql 密码 (初次登录必须修改密码, 否则无法使用 mysql 命令)

alter user  root @ localhost  identified by  你的密码 

二、源码版安装

非 root 用户必须要有 sudo 权限

1. 下载相关源码包

https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.2.0.tar.xz
https://mirrors.tuna.tsinghua.edu.cn/gnu/m4/m4-latest.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.1.0.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.19.tar.gz
http://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
https://down.24kplus.com/linux/cmake/cmake-3.16.2.tar.gz

2. 安装低版本的 gcc、gcc-c++(必须要做, 否则升级 gcc 安装 m4/gmp/mpfr/mpc 时 configure 会报错:configure: error: no acceptable C compiler found in $PATH)

到该网址下寻找 gcc、gcc-c++ 及其依赖包 (能连外网的可以直接使用命令:sudo yum -y install gcc gcc-c++)
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

3. 安装源码版 cmake

必须安装 openssl 和 openssl-devel 依赖, 下载网址同上, 否则 bootstrap 会报错: 找不到 openssl(能连外网的可以直接使用命令:sudo yum -y install openssl openssl-devel)

tar cmake-3.16.1.tgz
cd cmake-3.16.1
sudo ./bootstrap 
sudo make 
sudo make check
sudo make install

4. 升级 gcc、gcc-c++

a. 安装 m4

tar -xzvf m4-latest.tar.gz
cd m4-1.4.17/
sudo ./configure --prefix=/usr/local(--prefix 指定安装路径)
sudo make (编译)
sudo make check (检查编译是否有错, 注意是否有 Error, 可以不做)
sudo make install (安装)
m4 --version (查看 m4 版本)

正确安装后可以看到如下结果

怎么在 centos7 系统中安装 mysql8

b. 安装 gmp

sudo ln -s /usr/local/bin/m4 /usr/bin (把 m4 做一个软连接到此路径下, 否则 configure 时会报错:checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).)
tar -xvf gmp-6.2.0.tar.xz
cd gmp-6.2.0
sudo ./configure --prefix=/usr/local/gmp-6.2 (非管理员必须要 sudo, 否则会报错:Permission denied)
sudo make
sudo make check
sudo make install

c. 安装 mpfr

tar -xzvf mpfr-4.0.2.tar.gz 
cd mpfr-4.0.2 
sudo ./configure --prefix=/usr/local/mpfr-4.0 --with-gmp=/usr/local/gmp-6.2 (--with-gmp 为 gmp 的安装目录)
sudo make
sudo make check
sudo make install

d. 安装 mpc

tar -xzvf mpc-1.1.0.tar.gz
cd mpc-1.1
sudo ./configure --prefix=/usr/local/mpc-1.1 --with-gmp=/usr/local/gmp-6.2 --with-mpfr=/usr/local/mpfr-4.0
sudo make
sduo make check
sudo make install

e. 加入库文件(/usr/local/mpfr-4.0/lib/ 必须加入库文件, 其他两个可以不做, 否则安装升级 gcc 编译时会报错:error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory)

sudo vi /etc/ld.so.conf
 /usr/local/mpfr-4.0/lib/
 /usr/local/gmp-6.2/lib
 /usr/local/mpc-1.1/lib
sudo ldconfig (使上面的操作生效)

或者做软连接

sudo ln -s /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin

或者复制

sudo cp /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin/

f. 安装其他依赖 (系统未安装依赖包时, 必须要装, 否则升级 gcc 编译时会报错:mpc.h: 没有那个文件或目录)

下载 gmp-devel 和 libmpc-devel 及其依赖包 (能连外网的可以直接使用命令:sudo yum -y install gmp-devel libmpc-devel)

https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-6.0.0-15.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-devel-6.0.0-15.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-1.0.1-3.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-devel-1.0.1-3.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-3.1.1-4.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-devel-3.1.1-4.el7.x86_64.rpm

若还有依赖包需下载,请到 https://mirrors.tuna.tsinghua.edu.cn 自行下载

g. 升级 gcc

tar -xzvf gcc-9.2.0.tar.gz
cd gcc-9.2.0
 sudo ./configure --prefix=/usr/local/gcc-9.2 \
 --enable-bootstrap\
 --enable-checking=release \
 --enable-languages=c,c++ \
 --enable-threads=posix \
 --disable-checking\
 --disable-multilib\
 --enable--long-long\
 --with-gmp=/usr/local/gmp-6.2\
 --with-mpfr=/usr/local/mpfr-4.0\
 --with-mpc=/usr/local/mpc-1.1
sudo make (编译时间较长,1 个小时的样子)
sudo make check
sudo make install

务必卸载低版本的 gcc、gcc-c++

sudo rpm -e gcc-c++
sudo rpm -e gcc
sudo vi /etc/profile export PATH=$PATH:/usr/local/gcc/bin 
 source /etc/profile

查看 gcc 版本号

gcc –version

5. 安装源码版 mysql

安装 ncurses-devel 依赖, 否则 cmake 报错:Curses library not found.Please install appropriate package(能连外网的可以直接使用命令:sudo yum -y install ncurses-devel, 不能连上外网的下载地址同第 2 步一样)

tar -xzvf mysql-8.0.19.tar.gz
cd mysql-8.0.19
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql\
 -DDEFAULT_CHARSET=utf8\
 -DDEFAULT_COLLATION=utf8_general_ci\
 -DENABLED_LOCAL_INFILE=ON\
 -DWITH_SSL=system\
 -DMYSQL_DATADIR=/app/mysql/data\
 -DSYSCONFDIR=/app/mysql/config\
 -DMYSQL_TCP_PORT=3306\
 -DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock\
 -DWITH_BOOST=/home/mcbadm/mysql8/\
 -DFORCE_INSOURCE_BUILD=1
-DDEFAULT_CHARSET: 设置字符集
-DDEFAULT_COLLATION: 设置排序规则
-DENABLED_LOCAL_INFILE=ON: 启用本地数据导入支持
-DWITH_SSL=system: 启用 ssl 库支持
-DMYSQL_DATADIR: 数据文件目录, 可任意  
-DSYSCONFDIR: 配置文件目录, 可任意  
-DMYSQL_TCP_PORT:mysql 监听的 TCP 端口
-DMYSQL_UNIX_ADDR:mysql.sock 路径, 可任意  
-DWITH_BOOST:boost 源码包所在目录  
-DFORCE_INSOURCE_BUILD: 强制建立未存在的资源目录
cmake 若报错, 请找到原因解决后删除 CMakeCache.txt 再次 cmake
sudo rm -rf /usr/lib64/libstdc++.so.6* (删掉所有低版本 c ++ 的库文件)
sudo ln -s /usr/local/gcc-9.2/lib64 /usr/lib64 (把新安装的高本版 c ++ 库文件加入到系统库文件中)
sudo make (需要大概 1 小时)
sudo make install

6. 编写配置文件,建立目录并授权

sudo mkdir /app/mysql/config
sudo cd /app/mysql
sudo vi config/my.cnf

加入以下内容:

[mysqld]
user=mysql
port=3306
datadir=/app/mysql/data
socket=/app/mysql/mysql.sock
[mysqld_safe]
log-error=/app/mysql/logs/mysql-err.log
pid-file=/app/mysql/mysql.pid
[client]
socket=/app/mysql/mysql.sock
sudo useradd mysql -s /sbin/nologin
sudo mkdir -p /app/mysql/logs
sudo touch /app/mysql/logs/mysql-err.log
sudo chown -R mysql.mysql /app/mysql

7. 初始化并登陆修改密码

初始化

sudo /app/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/app/mysql/data --basedir=/app/mysql (无初始密码的,若想要初始密码,使用 --initialize)

启动

sudo /app/mysql/support-files/mysql.server start

登陆 (若无初始密码直接回车即可)

sudo /app/mysql/bin/mysql -p

修改密码

alter user root @ localhost identified by 密码

看完上述内容,你们对怎么在 centos7 系统中安装 mysql8 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计7128字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)