linux系统(ubuntu)安装mysql8详细教程
作者:ChenZhen
博客地址:https://www.chenzhen.space/
版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。
如果对你有帮助,请给一个小小的star⭐
总所周知,linux在服务器领域的应用是最强的,百度、谷歌、淘宝等应用和网站后台都是成千上万的Linux服务器组成的,世界上大部分软件和服务都是运行在Linux上的。
Linux系统是一个真正的多用户多任务的操作系统
Linux系统与Windows相比是更加安全的操作系统。
因此你的服务器会部署在linux系统上,这就是为什么我们要把mysql数据库安装在linux上的原因
进入正题,这里我用的发行版是ubuntu 不同版本用的指令可能会有些不同
请根据自己的版本选择合适的教程
1.下载mysql8
直接到官网下载最新版即可
MySQL :: Download MySQL Community Server
选择linux通用版本
选择glibc 64位压缩包
下个页面直接选择开始下载即可
然后将下载好的压缩包放到Linux的 /usr/local 目录下
2.输入指令解压到当前目录
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
- tar -xvf 可以解压tar.xz后缀的压缩文件
- tar -zxvf 可以解压tar.gz后缀的压缩文件
3.重命名文件为mysql-8.0
(这里也可以选择创建一个名为mysql-8.0软连接指向文件)
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0
4.创建data文件夹 储存文件
在mysql目录下创建data文件夹
cd mysql-8.0mkdir data
5.创建用户组以及用户
创建mysql组,再创建mysql用户并将mysql用户添加到组中
groupadd mysqluseradd -g mysql mysql
6.授权用户
将mysql文件夹的所有者和所有组都改为mysql
chown -R mysql.mysql /usr/local/mysql-8.0
7.mysql初始化
进入bin目录执行mysqld文件进行初始化
cd bin./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize
8.编辑my.cnf
vim /etc/my.cnf
注释掉mysqld_safe和下面2条内容 修改basedir datadir socket信息
[mysqld]
basedir=/usr/local/mysql-8.0
datadir=/usr/local/mysql-8.0/data
port=3306
socket=/tmp/mysql.sock
user=mysql
####9.添加mysqld服务
创建 systemd 服务文件 /etc/systemd/system/mysql.service
:
[Unit]
Description=MySQL Server
After=network.target[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown
Restart=always[Install]
WantedBy=multi-user.target
启动并开机自启:
sudo systemctl daemon-reload
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql
11.启动mysql
systemctl start mysql
12.查看启动状态
可以用service mysql status 再次查看mysql启动状态
systemctl status mysql
13.(可选)加入环境变量
echo 'export PATH=/usr/local/mysql-8.0/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
14.登录
mysql -uroot -p
在下方填入之前生成的随机密码
登录成功提示
15.修改root密码
接下来修改root密码,将123456换成你的新密码
别忘了结尾有个分号“;”
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
然后刷新权限 使密码生效
flush privileges;
16.修改远程连接并生效
选中mysql数据库
use mysql;
设置允许远程连接并生效
update user set host='%' where user='root';flush privileges;
root表示想要被连接的数据库的用户名
其中“%”表示允许所有机器能访问root用户