指定目录下载tar包并解压
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
tar xvJf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
重命名
mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql-8.0.31
进入根目录
cd mysql-8.0.31/
创建data文件
mkdir data
创建mysql组
groupadd mysql
创建mysql用户
groupadd mysql
已创建会提示
将安装的MySQL权限给mysql用户
命令,chown -R “mysql组名”.“mysql用户名” “mysql安装根目录”
chown -R mysql.mysql /home/mysql8/mysql-8.0.31
进入MySQL的bin目录进行初始化
./mysqld --user=mysql --basedir=/home/mysql8/mysql-8.0.31 --datadir=/home/mysql8/mysql-8.0.31/data --lower-case-table-names=1 --initialize
–lower-case-table-names=1 即设置不区分表明大小写,最后面的 dwW3</EIewj 为初始化生产的临时密码。
修改MySQL配置文件
vim /etc/my.cnf
将下面复制到my.cnf
[mysqld]
port=3306
basedir=/home/mysql8/mysql-8.0.31/ # MySQL根目录
datadir=/home/mysql8/mysql-8.0.31/data/ # MySQL的data目录
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0
#配智大小写不敏感,配合初始化mysql时使用
lower_case_table_names=1
#解决“java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list,references column”
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’
添加服务到系统
进入MySQL根目录,直接复制粘贴命令即可。
cp -a ./support-files/mysql.server /etc/init.d/mysql
授权
chmod +x /etc/init.d/mysql
添加服务
chkconfig --add mysql
service mysql start
将MySQL命令添加到服务
添加服务
命令: ln -s “你的MySQL根目录/bin/mysql” /usr/bin ,这一步是为了能在任何地方通过用户名和密码登录MySQL,这是我的
ln -s /home/mysql8/mysql-8.0.31/bin/mysql /usr/bin
修改密码
先使用前面初始化拿到的临时密码登录
mysql -uroot -p
切换到mysql数据库
use mysql
如果切换mysql数据库时出现这样的错就直接修改密码:
alter user ‘root’@‘%’ identified by ‘2024livzon’;
如果上面执行就不用走这步了;
查询用户表命令
select Host, User from user;
修改密码
update user set Host=‘%’ where User=‘root’;
记得刷新
flush privileges;
启动
service mysql start
关闭
service mysql stop
运行状态
service mysql status
如果链接不上查看3306端口是否开放
#临时端口(默认为空)
firewall-cmd --list-ports
#永久开放端口(默认为空)
firewall-cmd --list-ports --permanent
#添加临时开放端口 3306
firewall-cmd --add-port=3306/tcp
#添加永久开放端口
firewall-cmd --add-port=3306/tcp --permanent
#关闭临时端口 3306
firewall-cmd --remove-port=3306/tcp
#关闭永久端口
firewall-cmd --remove-port=3306/tcp --permanent
#重载防火墙
firewall-cmd --reload
#重启防火墙
systemctl restart firewalld
#查看防火墙
systemctl status firewalld
链接出现问题
修改公钥为TRUE
完毕