Linux8离线安装mysql 8.0.22详细步骤
一、下载安装MySQL
1、官网下载mysql安装包:mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
2、上传到 /opt 目录下
3、检查并卸载系统自带Mariadb
rpm -qa | grep mariadb 查询
rpm -e --nodeps mariadb-connector-c-config-3.0.7-1.el8.noarch 卸载
4、检查并卸载系统自带的Mysql
rpm -qa | grep mysql 查询
rpm -e --nodeps 对应文件 卸载
5、cd /opt 进入到opt目录,解压压缩包:
tar -xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
6、修改文件夹名称为mysql-8.0.22:
mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql-8.0.22
7、创建文件夹
mkdir /opt/mysql-8.0.22/data
mkdir /opt/mysql-8.0.22/log
mkdir /opt/mysql-8.0.22/tmp
8、创建 mysql用户组和用户名
groupadd mysql 创建用户组
useradd -g mysql mysql 创建用户名并加入到mysql用户组
二、MySQL配置
1、设置my.cnf文件
[client]
port = 3306
socket = /opt/mysql-8.0.22/tmp/mysql.sock
default-character-set = utf8
[mysqld]
port = 3306
basedir = /opt/mysql-8.0.22
datadir = /opt/mysql-8.0.22/data
tmpdir = /opt/mysql-8.0.22/tmp
socket = /opt/mysql-8.0.22/tmp/mysql.sock
pid-file = /opt/mysql-8.0.22/log/mysql.pid
log_error = /opt/mysql-8.0.22/log/error.log
slow_query_log_file = /opt/mysql-8.0.22/log/slow.log
character-set-server = utf8
如下图:
2、添加Mysql到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysql # 若mysqld,以下mysql相应的修改mysqld。
chmod +x /etc/init.d/mysql
chkconfig --add mysql
3、启动mysql
service mysql start;
4、查看mysql状态
Service mysql start;
5、将mysql的bin目录加入PATH环境变量,编辑/etc/profile文件(增加下图红色部分)
vi /etc/profile
xport PATH=$PATH:/opt/mysql-8.0.22/bin
6、执行更改生效指令
source /etc/profile
7、以root账户登陆mysql
mysql -u root -p 以root登录,发现下面错误(如图)。
首先解析此英文:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);解析的地方有两处:①Access denied(拒绝访问);②using password:NO/YES
出现access denied的原因有如下可能:
1)mysql的服务器停止;若MySQL已经没有启动,重启MySQL服务器:net start mysql。
2)用户的端口号或者IP导致;若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部将端口编辑替换为: port=X(如:port=3306)。
3)mysql的配置文件错误----my.ini等文件;my.ini文件误输入无效内容,不知道到何处。复制替换该文件。
4)root用户的密码错误;楼主本博主要解决内容。
注意:
linux安装mysql第一次启动时是有初始密码的,由于不知道初始密码,所以root登录时候出现错误情况。需要知道初始密码或者绕过直接修改成自己设置密码,即解决后期登录问题。
楼主解决方法:
7.1、在my.cnf增加一个语句,绕过核对密码(如图)。
skip-grant-tables
7.2、再次以root登录mysql,并修改密码
mysql -u root -p
SET PASSWORD FOR [email protected] = '123456'; 修改成功
7.3、删除my.cnf文件中的 skip-grant-tables。