linux编译安装mysql8.0.20

本人环境是 CentOS 7,MySQL安装包是mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

亲测本机安装已经成功,如果遇到问题,欢迎在评论留言

安装命令如下,详细的步骤在安装命令后面

yum install -y gcc gcc-c++ cmake ncurses ncurss-devel bison libaio openssl openssl-devel libaio
yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison openssl openssl-devel make libaio
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
mv /root/mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql
ls /usr/local/mysql/
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/log
mkdir -p /usr/local/mysql/tmp
touch /usr/local/mysql/log/mysql-error.log
touch /usr/local/mysql/log/mysql-slow.log
touch /usr/local/mysql/mysql.pid
chmod +777 /usr/local/mysql/mysql.pid
chmod 755 /usr/local/mysql/log/mysql-error.log
chmod 755 /usr/local/mysql/log/mysql-slow.log
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql
vim /etc/profile
source /etc/profile
cp /etc/my.cnf /etc/my.cnf.back
vim /etc/my.cnf
cd /usr/local/mysql/
./bin/mysql_ssl_rsa_setup
./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize
cp ./support-files/mysql.server /etc/init.d/mysql.server
./support-files/mysql.server start
上面完成后进入MySQL,配置密码
查看mysql初始密码
cat ./log/mysql-error.log | grep pass
mysql -u root -p
  1. 安装依赖包(联网环境下安装了所有依赖包)

yum install -y gcc gcc-c++ cmake ncurses ncurss-devel bison libaio openssl openssl-devel libaio vim

  1. 依赖包安装完成后开始步入正题,解压mysql安装包

tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
  1. 解压完成后勇命令把安装移动到/usr/local目录下

mv /root/mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql
ls /usr/local/mysql/
  1. 在mysql下创建需要的目录data、log、tmp、日志文件mysql-error.log,以及传教组用户mysql和用户mysql,修改/usr/local/mysql,所属于组和用户

mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/log
mkdir -p /usr/local/mysql/tmp
touch /usr/local/mysql/log/mysql-error.log
touch /usr/local/mysql/log/mysql-slow.log
touch /usr/local/mysql/mysql.pid
chmod +777 /usr/local/mysql/mysql.pid
chmod 755 /usr/local/mysql/log/mysql-error.log
chmod 755 /usr/local/mysql/log/mysql-slow.log
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql
linux编译安装mysql8.0.20_第1张图片
linux编译安装mysql8.0.20_第2张图片
  1. 修改系统文件,添加环境变量,修改完成后重新加载一下

vim /etc/profile
PATH=/usr/local/mysql/bin/:/usr/local/lib:$PATH
source /etc/profile

vim /etc/profile 编辑文件

添加下面这条环境变量

PATH=/usr/local/mysql/bin/:/usr/local/lib:$PATH

!wq强制保存退出

重新刷新文件

source /etc/profile

如下图

linux编译安装mysql8.0.20_第3张图片
  1. 修改my.cnf(修改这个一定认真,大部分启动不了的都是因为my.cnf文件的错误)

在修改之前复制备份一个

cp /etc/my.cnf /etc/my.cnf.back
vim /etc/my.cnf

修改的内容如下,确保正确(红色线宽内的,剩下除了最后一行,其他都是#注释),修改成功后,保存退出

linux编译安装mysql8.0.20_第4张图片
linux编译安装mysql8.0.20_第5张图片
  1. 进入目录,开始初始化

cd /usr/local/mysql/
./bin/mysql_ssl_rsa_setup
linux编译安装mysql8.0.20_第6张图片
./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize
  1. 复制启动项到 /etc/init.d/

cp ./support-files/mysql.server /etc/init.d/mysql.server
  1. 启动mysql(如果启动不成功看/usr/local/mysql/log/mysql-error.log文件)

  1. 启动成功后在/usr/local/mysql/log/mysql-error.log文件查找密码;记住 for root@localhost:后面的字符,就是初始化的密码

cat ./log/mysql-error.log | grep pass
  1. 登录mysql数据库,

mysql -u root -p
之后回车输入如密码
或者 mysql -u root -p'密码'
linux编译安装mysql8.0.20_第7张图片

启动失败,看日志

如果启动不成,运行的日志(报错信息)在/usr/local/mysql/log/mysql-error.log

我遇到这个问题,解决了

cat /usr/local/mysql/log/mysql-error.log

上面错误这个需要删除/usr/local/mysql/data/下面的文件,在从新初始化

rm -rf /usr/local/mysql/data/*

./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

这种检查/etc/my.cnf文件有没有写错

之后在初始化

./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

linux编译安装mysql8.0.20_第8张图片

这个错误是etc/my.cnf,中的pid文件没有找到,或者文件名不同,

在目录/usr/local/mysql/下,重新建一个文件和my.cnf中名字一直,并且赋予权限和组

linux编译安装mysql8.0.20_第9张图片

其他问题

肯还会有其他文图,之前登录数据库要修改密码或者密码忘记等,这些我也遇到,可以看看其他博主的,很容易找到。

如有遇到问题请评论留言

你可能感兴趣的:(mysql,liunx,linux,centos,mysql)