centos8安装MySQL8解压版
- 下载MySQL8
- 上传到服务器并解压
上传到服务器,并且复制到/usr/local目录下,解压后,重命名为mysql
- 编辑mysql配置文件
进入mysql目录,创建并编辑my.cnf文件
- 修改内容为:
[mysqld]
port=3306
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
log-error=/usr/local/mysql/data/error.log
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
character-set-server=utf8mb4
lower_case_table_names=1
innodb_log_file_size=1G
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
- 然后将文件复制一份到/etc目录下
cp my.cnf /etc
- 添加mysql组和用户
groupadd mysql
useradd -r -g mysql mysql
- 修改相关权限,进入/usr/local/mysql目录
cd /usr/local/mysql
chgrp -R mysql ./
chown -R mysql ./
- 初始化mysql,进入/usr/local/mysql/bin目录,执行命令
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记住随机生成的密码
- 添加软连接
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
- 复制启动文件到服务文件夹
cd support-files
cp mysql.server /etc/init.d/mysql
- 启动mysql
service mysql start
- 设置mysql开机自启动
systemctl enable mysql
- 添加mysql软连接(相当于配置环境变量,在任何目录都可以直接使用mysql命令,也可以去配置环境变量)
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
- 进入mysql,输入之前的临时密码,最好是粘贴
- 修改密码
命令为:set password=‘你的密码’;
- 设置访问权限
mysql默认只能本机访问,要设置任意IP都能通过root用户访问数据库,mysql8和mysql5.7有一些变化,现在不能直接修改权限,先创建一个root用户,密码自己定。
’%‘表示任意IP,如果你不想任意IP,把%改为你自己的电脑IP
123456是我的密码,可以自行修改
create user 'root'@'%' identified by '123456';
- 授权任何IP都能访问
grant all privileges on *.* to 'root'@'%';
- 刷新权限
flush privileges;
- 重启mysql进行测试连接
service mysql restart
- 关闭Linux防火墙
- 查看防火墙状态
systemctl status firewalld
- 关闭防火墙
service firewalld stop
- 禁止防火墙开机自启动
systemctl disable firewalld