当前位置:网站首页>MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
2022-07-31 05:07:00 【m0_67390379】
在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来。
需要说明的一点是我使用的是SSH secure shell Client连接linux系统的,它的用法和命令窗口差不多。界面如图:一样的使用Linux命令操作。
话不多说
第一步:
1)、切换到 /use/local下
cd /use/loca
2)、创建mysql文件夹
mkdir mysql
3)、切换到mysql文件夹下
cd mysql
4)、下载mysql8.0安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
如果执行没反应,可以复制安装包链接在Windows的浏览器下载好,再用SSH移到 /use/local/mysql文件夹下面(这个时候就提现出了SSH的便利性)
5)、解压mysql8.0安装包
切换到 /use/local/mysql文件夹下面,执行命令
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
6)、重命名解压出来的文件夹,这里改成mysql-8.0
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
7)、/use/local/mysql文件夹下创建data文件夹 存储文件
mkdir data
8)、
分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)
groupadd mysql
useradd -g mysql mysql
9)、授权刚刚新建的用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
chmod 750 /usr/local/mysql/data -R
10)、配置环境,编辑/etc/profile文件
vim /etc/profile
在最后一行加
export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
(新手提示:添加完之后,换行,打出“:sq”,用来保存文件并退出)
11)、编辑my.cnf文件
vi /etc/my.cnf
按下面复制进去就好了,#号开头的不用管,一样,添加完之后,换行,打出“:sq”,用来保存文件并退出
[mysql]
default-character-set=utf8mb4
[client]
#port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
#port=3306
#server-id=3306
user=mysql
general_log = 1
general_log_file= /var/log/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/data
log-bin=/usr/local/mysql/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
#
# include all files from the config directory
12)、切换到/usr/local/mysql/mysql-8.0/bin目录下
cd bin
13)、初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/mysql-8.0/bin目录下执行)
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/data/ --initialize
如图,复制出红框的初始密码,保存到本地,后面需要使用到。ISSUE:如果因为路径等各种问题需要重新初始化的,需要清空上面创建的data文件,在data所在的目录下使用 rm -rf data 命令。
14)、复制 mysql.server 文件,在/usr/local/mysql/mysql-8.0目录下执行
cp -a ./support-files/mysql.server /etc/init.d/mysql
cp -a ./support-files/mysql.server /etc/init.d/mysqld
15)、赋予权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld
16)、检查一下/var/lib/mysql是否存在,否则进行创建
mkdir /var/lib/mysql
然后再赋予权限
chown -R mysql:mysql /var/lib/mysql/
17)、启动数据库,有SUCCESS字眼说明MySQL安装完成
service mysql start
ps:
如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,
使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start
第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)
1)、修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
2)、执行flush privileges; 使密码生效
flush privileges;
3)、选择数据库
use mysql;
4)再修改远程连接并生效
update user set host='%' where user='root';
5)执行提交命令,搞定!
flush privileges;
最后就可以使用root账号去登录mysql了。如果有遇到问题的小伙伴评论留言,文中如有遗漏错误,欢迎指正。
题外:
给mysql创建新的数据库用户并授予权限
1)创建用户(名称随意,这里的用户名称为mysql)并可以远程访问
CREATE user 'mysql'@'%';
#修改密码
alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021';
2)创建新的数据库
#create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;
3)把新的数据库授权给新用户
#将test库的所有权限赋予mysql用户
grant all privileges on test.* to "mysql"@"%";
grant all privileges on test.* to "tcl"@"%";
4)、刷新权限
flush privileges;
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Unity resources management series: Unity framework how to resource management
- 城市内涝及桥洞隧道积水在线监测系统
- The 15th day of the special assault version of the sword offer
- [Linear Neural Network] softmax regression
- 【wpf】wpf中的那些模板之深度解析
- Information System Project Manager Core Test Site (55) Configuration Manager (CMO) Work
- CentOS7 —— yum安装mysql
- Open Source Database Innovation in the Digital Economy Era | 2022 Open Atom Global Open Source Summit Database Sub-Forum Successfully Held
- PCL 计算点云坐标最值及其索引
- centos7安装mysql5.7
猜你喜欢
SQL injection of DVWA
Open Source Smart Future | 2022 OpenAtom Global Open Source Summit OpenAtom openEuler sub-forum was successfully held
XSS shooting range (3) prompt to win
ES source code API call link source code analysis
Information System Project Manager Core Test Site (55) Configuration Manager (CMO) Work
Unity resources management series: Unity framework how to resource management
Multiple table query of sql statement
30 Years of Open Source Community | 2022 Open Atom Global Open Source Summit 30 Years of Open Source Community Special Event Held Successfully
Unity URP渲染管线摄像机核心机制剖析
Go language study notes - dealing with timeout problems - Context usage | Go language from scratch
随机推荐
Workflow番外篇
Moment Pool Cloud quickly installs packages such as torch-sparse and torch-geometric
【C语言】操作符详解
MySQL transaction isolation level, rounding
Pytorch教程Introduction中的神经网络实现示例
MySQL window function
PCL 计算点云坐标最值及其索引
prompt.ml/15中<svg>标签使用解释
The MySQL database installed configuration nanny level tutorial for 8.0.29 (for example) have hands
ERP Production Operation Control Kingdee
Lua,ILRuntime, HybridCLR(wolong)/huatuo hot update comparative analysis
Mysql应用安装后找不到my.ini文件
From scratch, a mirror to the end, a pure system builds a grasscutter (Grasscutter)
ES source code API call link source code analysis
Unity打灵狐者
ERROR 2003 (HY000) Can't connect to MySQL server on 'localhost3306' (10061)
矩池云快速安装torch-sparse、torch-geometric等包
Unity shader forge和自带的shader graph,有哪些优缺点?
Numpy中np.meshgrid的简单用法示例
12个MySQL慢查询的原因分析