一、下载MySQL8.0安装包
MySQL官网 下载地址 下载之前可以查看一下系统的位数,下面有指令
查看系统的位数(32位或64位)
getconf LONG_BIT
我这里是64位的,所以这里我就下载64位, 可以在官网下载后上传上去,我这里就直接使用服务器下载了
sudo wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
二、安装MySQL8.0
2.1 解压安装包
sudo tar xvJf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
2.2 修改文件名称
sudo mv mysql-8.0.36-linux-glibc2.28-x86_64 mysql-8.0.36
2.3 创建相关文件夹
进入到mysql-8.0.36文件夹中
sudo mkdir data # 数据存储
sudo mkdir log # 日志存储
sudo mkdir tmp # 临时文件
2.4 新增用户组
sudo groupadd mysql
2.5 新增组用户
sudo useradd -g mysql mysql
2.6 用户授权 指向mysql8.0安装目录
sudo chown -R mysql.mysql /usr/local/mysql8.0/mysql-8.0.36
# 这里用自己实际的安装目录即可 可以通过 pwd 指令查看当前目录路径
三、初始化数据库
再安装目录下执行
sudo ./bin/mysqld --user=mysql --basedir=/usr/local/mysql8.0/mysql-8.0.36/ --datadir=/usr/local/mysql8.0/mysql-8.0.36/data/ --initialize ;
执行后 : 红色框框中的为 初始密码,这个需要记住
四、编写配置文件
vi /etc/my.cnf
# 正常情况下是没有这个文件的,执行保存之后会自动创建
配置文件内容如下(文件路径记得改为自己的)
[mysql]
default-character-set=utf8mb4
[client]
port=13306
socket=/mnt/data01/chargestation/mysql-8.0.39/tmp/mysql.sock
[mysqld]
port=13306
socket=/mnt/data01/chargestation/mysql-8.0.39/tmp/mysql.sock
basedir=/mnt/data01/chargestation/mysql-8.0.39
datadir=/mnt/data01/chargestation/mysql-8.0.39/data
log-error=/mnt/data01/chargestation/mysql-8.0.39/log/mysql.log
pid-file=/mnt/data01/chargestation/mysql-8.0.39/tmp/mysql.pid
lower_case_table_names=1
bind-address=0.0.0.0
character_set_server=UTF8MB4
init_connect='SET NAMES utf8'
五、初始化mysql服务
sudo cp -a ./support-files/mysql.server /etc/init.d/mysql
sudo chmod +x /etc/init.d/mysql
sudo chkconfig --add mysql
指令作用如下
cp -a ./support-files/mysql.server /etc/init.d/mysql
:这条指令用于将MySQL服务器的启动脚本mysql.server
从MySQL安装目录下的./support-files
文件夹复制到系统的服务管理目录/etc/init.d
,以便可以使用系统服务管理工具来控制MySQL服务。chmod +x /etc/init.d/mysql
:这条指令用于给复制到/etc/init.d
目录下的mysql
脚本文件添加执行权限,确保它能够被系统调用执行启动、停止等操作。chkconfig --add mysql
:这条指令用于将MySQL服务添加到系统服务的管理系统中,chkconfig
是Red Hat系列Linux系统(如CentOS、RHEL)中用于管理服务的命令,--add
选项表示添加一个新的服务。执行后,MySQL服务将能够通过service
命令或systemctl
(在使用systemd的系统上)进行启动、停止和重启。
检测一下是否成功
chkconfig --list mysql
如图所示表示成功
六、启动运行MySQL服务
6.1 启动服务
sudo service mysql start
这里启动后有出现错误信息
提示文件不存在之类的
sudo mkdir -p /usr/local/mysql8.0/mysql-8.0.36/log/
sudo chown mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/log/
sudo chmod 777 /usr/local/mysql8.0/mysql-8.0.36/log/
sudo chown mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/data/
sudo chmod 777 /usr/local/mysql8.0/mysql-8.0.36/data/
sudo chown mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/tmp/
sudo chmod 777 /usr/local/mysql8.0/mysql-8.0.36/tmp/
执行以上命令 ,没有的文件就创建并且赋予权限,有的就直接赋予权限。
如果说还不行,则使用最简单粗暴的方法
sudo chown -R mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/
sudo chmod 777 -R /usr/local/mysql8.0/mysql-8.0.36/
使用递归的形式将 安装目录下的所有文件以及文件夹都开放所有权限
设置完成后重新执行启动指令
这时显示ok即可,也可以使用 service mysql status; 指令查询一下当前mysql的状态
6.2 修改MySQL密码
进入到安装目录下的bin目录
/usr/local/mysql8.0/mysql-8.0.36/bin
登陆mysql
./mysql -uroot -p
输入初始化时候的临时密码
登陆成功后执行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
6.3 开启远程访问
在登陆MySQL环境下分别执行一下指令
CREATE USER 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;
6.4 开启防火墙端口
分别执行一下两条指令即可
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
注意:如果是云服务器,还需要再安全组开通对应的端口。
6.5 使用工具远程连接
版权归原作者 左小轩 所有, 如有侵权,请联系我们删除。