Linux环境安装mysql8.0

1个人习惯我喜欢给软件安装在/use/local下,我使用的finalshell软件,直接手动新建一个文件夹名字为mysql

2下载mysql

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

3解压文件

tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

4为了方便寻找我改了文件名命令如下,我用的软件直接手动改的

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

5创建用户,并赋予权限。进入mysql-8.0目录下,创建data文件夹,用来存储文件

mkdir data

6创建mysql组和用户(我没有用过下面的两个命令)

1groupadd mysql

2useradd -r -g mysql mysql

7赋予权限

chown -R mysql.mysql /usr/local/mysql/mysql-8.0

8进入bin目录下

9初始化信息,得到临时密码(保存好,后面会用到)

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize

我执行时候报错了

我使用的是 CentOS 7 或 RHEL 7,请运行以下命令安装 libnuma 库:

sudo yum install numactl-libs

下载之后在执行上面命令之后记住初始密码

10创建一个文件

11添加mysqld服务到系统

cp -a ./support-files/mysql.server /etc/init.d/mysql

授权以及添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

12启动mysql service mysql start

报错查看进程 ps -ef | grep mysqld

如果有杀死掉 pkill -9 mysqld

然后再启动mysql service mysql start

13查看启动状态 service mysql status

14将mysql命令添加软连接,方便进入mysql

ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin

15 mysql -u root -p 这个密码就是之前记住那个初始密码

16修改密码然后就完成了,正常到这里就结束了。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

我安装时候15步骤时候密码报错了然后我就进行下面操作

1停止MySQL服务:

sudo systemctl stop mysqld

2启动MySQL并跳过权限验证:

sudo mysqld_safe --skip-grant-tables &

在MySQL 8.0版本中,mysqld_safe命令已经被移除了

3.编辑MySQL配置文件:

sudo vi /etc/my.cnf

4在mysqld部分添加一行跳过权限验证的配置:

skip-grant-tables

5我使用的工具可以直接打开文件修改之后保存并退出编辑器。

6启动MySQL服务:

sudo systemctl start mysqld

7使用root身份登录MySQL:

mysql -u root

8在MySQL命令提示符下执行以下命令以修改root用户密码(将"your_new_password"替换为新密码):

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';

9刷新权限并退出MySQL:

FLUSH PRIVILEGES;

exit;

10编辑MySQL配置文件,将之前添加的skip-grant-tables配置注释掉或删除。

11重新启动MySQL服务:

sudo systemctl restart mysqld

12登录到 MySQL 并使用以下命令检查当前的用户和权限:

SELECT user, host FROM mysql.user;

13这将显示所有 MySQL 用户及其关联的主机。请确保要允许远程连接的用户具有正确的主机值,或者添加一个新的 MySQL 用户作为远程访问的用户。创建一个新的 MySQL 用户,并授予远程连接所需的权限。例如,要创建一个名为remoteuser 的新用户,并授予对 mydatabase 数据库的远程访问权限,请使用以下语句:

CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON mydatabase.* TO 'remoteuser'@'%'; FLUSH PRIVILEGES;

14注意,上述语句中的 % 表示该用户可以从任何主机连接到 MySQL 服务器。如果你只想允许特定IP地址的主机连接,请使用该地址替换 %

15然后使用工具 连接成功。

相关推荐
风静如云10 分钟前
Openssl:Win11(Chrome)安装客户端证书
服务器
風穆21 分钟前
OopsVPS:多云 VPS 比价平台的十大核心优势
大数据·服务器·云服务器·oopsvps
Pocker_Spades_A25 分钟前
终端里也能斗地主:Linux部署Ratel,从本地对战到公网联机
linux·运维·服务器
佳児素花痴╮1 小时前
C语言链接库
linux·运维·服务器
雷电小将军1 小时前
诡秘之主手游占卜家序列加点 诡秘之主手游占卜家怎么加点
服务器·网络·游戏·电脑·玩游戏
云飞云共享云桌面1 小时前
苏州昆山精密机械加工厂研发部门10个SolidWorks可以部署云飞云共享云桌面吗?
大数据·运维·服务器·自动化·汽车·制造
聚美智数1 小时前
图片水印-图片剪裁-图片缩放API接口介绍
java·服务器·数据库
wWYy.2 小时前
Linux发送数据包的过程
linux·网络
小嵌同学2 小时前
Linux 内核中的 Per-CPU 机制详解
linux·运维·arm开发·嵌入式
云飞云共享云桌面2 小时前
自动化设备厂 10 人研发团队,如何共用一台服务器做 SolidWorks 建模?
运维·服务器·网络·3d·自动化·制造