CentOS离线安装MySQL 8.0.25
下载地址:
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端口开放了