CentOS离线安装MySQL 8.0.25

作者:动易软件 来源:网络 点击数: 发布时间:2023年01月06日

下载地址:
https://dev.mysql.com/downloads/mysql/

操作系统选择Linux - Generic,OS版本选择Linux - Generic (glibc 2.12) (x86, 64-bit),

选择下载这个包:

mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

解压到/usr/local路径:
tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

切换到/usr/local目录,修改mysql根目录名称:
mv mysql-8.0.25-linux-glibc2.12-x86_64/ mysql

创建mysql用户:
groupadd mysql
useradd -g mysql mysql

切换到mysql根目录下 cd /usr/local/mysql,并创建data文件夹:
mkdir data

授权mysql用户文件夹访问权限:
chown -R mysql:mysql /usr/local/mysql

切换到/usr/local/mysql/bin目录下,初始化mysql:
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
记住初始化生成的密码:例:8.nFa0S.YfwU

编辑mysql配置文件 vim /etc/my.cnf,并修改对应datadir、socket、log-error、pid-file为如下内容:
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
max_connections=1000

[mysqld_safe]
log-error=/usr/local/mysql/data/mariadb.log
pid-file=/usr/local/mysql/data/mariadb.pid

把mysqld服务拷贝到系统:
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
授权并设置开启自启动:
chmod +x /etc/init.d/mysql
chkconfig --add mysql

启动mysql服务
service mysql start

设置mysql软链接:
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

登录mysql:
mysql -uroot -p
输入刚才初始化生成的临时密码:例:8.nFa0S.YfwU

 

使用mysql语句
use mysql;

修改密码
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[新密码]';

再次执行 use mysql,选择mysql数据库
设置用户host
update user set host='%' where user ='root';

开放远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
执行时会报错,但是再执行一次update user set host='%' where user ='root'后,这个命令就能执行成功了。原因不明。

刷新权限
flush privileges;

退出
exit

查看防火墙状态
firewall-cmd --state

查看防火墙开放端口
firewall-cmd --zone=public --list-ports

开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

配置防火墙端口生效
firewall-cmd --reload

再查看防火墙开放端口,已经能看到3306端口开放了