2024年1月 远程Linux(Ubuntu)服务器上使用普通用户(非root用户)安装mysql8.0.36
创始人
2025-01-19 13:33:32
0

文章目录

  • 前言
  • 一、安装包下载
  • 二、安装过程
    • 1.解压缩安装包
    • 2.新建用户并修改权限(普通用户可以直接跳过,如果是root用户要新建)
    • 3.配置my.cnf文件
    • 4.进入mysql目录,开始安装mysql
    • 5.启动停止 MySQL
    • 6.在 error.log 文件中获取 root 用户密码。
    • 7.安装完成,使用 root 用户登陆 MySQL。
    • 8.修改root密码
    • 9.修改权限使远程客户端可以连接。
    • 10.用工具连接数据库
  • 总结


前言

之前liinux上安装过好几次mysql,但是都是用root用户安装的,而且一直没有记录过,每次安装还都得去现查。这次实习期间公司服务器上给的账号不是root用户,并且服务器上已经装了一个mysql,但是因为原mysql版本太老且为了和原来的数据做区分,本次记录一下使用普通用户如何在liinux上安装mysql8.0.36。


一、安装包下载

进入mysql官网https://dev.mysql.com/downloads/mysql/,在本地windows系统上先通过mysql官网下载安装包。根据需求选择需要的mysql版本,以及服务器系统,本文所用linux服务器是ubuntu系统,下载的是如下图的版本。
在这里插入图片描述这里有一个要注意的是下载的glibc的版本,一开始我下载的glibc是2.28,但是所用服务器可能比较老,没支持这个动态库,在后面开始安装mysql数据库时会报如下的错误。

xxx/libstdc++.so.6:version `CXXABI_1.3.11' not found xxx/libstdc++.so.6:version `GLIBCXX_3.4.22' not found xxx/libm.so.6: version `GLIBC_2.27' not found xxx/libm.so.6:version `GLIBC_2.28' not found xxx/libm.so.6:version `GLIBC_2.25 

在网上查了半天想更新一下动态库,但是因为没有root用户的权限想更新动态库还比较困难,最后选择了glibc2.12的版本就正常了,所以建议先看一下服务器上的glibc版本再下载。
然后将本地的安装包上传到服务器上。我是直接用的pycharm连的服务器,然后通过拖拽就把安装包传到服务器上了,也可以使用filezilla等工具。

二、安装过程

1.解压缩安装包

解压代码如下:

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

之前看了几篇博客压缩包后缀名都是.gz,目前因为mysql官网更新了,后缀名现在是.xz,感兴趣的话可以搜一下二者的区别。
解压缩过程中终端会有一堆文件路径输出,结束之后会在当前目录创建一个解压缩出来的文件夹(这个图的glibc还是之前2.28的)。
在这里插入图片描述
原文件名字太长,直接改成mysql简单点。

mv mysql-8.0.36-linux-glibc2.12-x86_64 mysql 

2.新建用户并修改权限(普通用户可以直接跳过,如果是root用户要新建)

如果当前用户是root用户,出于安全考虑,一般要新建一个用户组mysql和用户mysql。
先检查是否有mysql用户组和mysql用户,有可以忽略。

groups mysql  

没有的话新建用户组mysql和用户mysql,然后给mysql用户前文所改名的mysql文件夹的权限。

groupadd mysql && useradd -r -g mysql mysql chown mysql:mysql -R mysql 

3.配置my.cnf文件

如果服务器上之前有配置过mysql,一般会有一个my.cnf文件在etc文件夹下,但是这次为了新装一个mysql,并且让普通账户完全拥有其权限,所以在mysql文件夹下单独新建一个my.cnf文件。

cd mysql vim my.cnf 

之后在文件中添加以下内容,我这里因为服务器上已经有一个mysql了,所以为了避免端口冲突选择的是3307,一般是3306,也可以根据自己需求来,不冲突就好。其中的/home/user/mysql需改成自己的路径(后面的这个路径都要改成自己的)!

[client]    port=3307   socket=/home/user/mysql/mysql.sock   [mysqld] port=3307 basedir=/home/user/mysql datadir=/home/user/mysql/data pid-file=/home/user/mysql/mysql.pid socket=/home/user/mysql/mysql.sock log_error=/home/user/mysql/error.log server-id=100 

4.进入mysql目录,开始安装mysql

bin/mysqld --defaults-file=/home/user/mysql/my.cnf --initialize --user=user --basedir=/home/user/mysql --datadir=/home/user/mysql/data #--defaults-file 指定配置文件 #--initialize 自动生成带随机密码的root用户 

5.启动停止 MySQL

bin/mysqld_safe --defaults-file=/home/user/mysql/my.cnf --user=user & bin/mysqladmin shutdown -u root -p -S /home/user/mysql/mysql.sock 

./mysqld_safe启动mysql会默认寻找/etc/my.cnf配置文件。普通用户没有权限,因此要通过–defaults-file指定我们自定义的配置文件。这里的–user=user就是当前普通用户的用户名,需改成你自己的用户名。

6.在 error.log 文件中获取 root 用户密码。

cat error.log | grep root@localhost 

7.安装完成,使用 root 用户登陆 MySQL。

bin/mysql -u root -p -S /home/user/mysql/mysql.sock 

出现Enter password后复制前文获取的root用户密码回车就好。

8.修改root密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.02 sec) 

9.修改权限使远程客户端可以连接。

先查看一下当前用户。

mysql> select host,user from user     -> ; +-----------+------------------+ | host      | user             | +-----------+------------------+ | localhost | mysql.infoschema | | localhost | mysql.session    | | localhost | mysql.sys        | | localhost | root             | +-----------+------------------+ 4 rows in set (0.00 sec) 

之后新创建用户。

mysql> create user 'root'@'%' identified by '123456'; Query OK, 0 rows affected (0.02 sec) 

再赋予权限。

grant all privileges on *.* to 'root'@'%' with grant option; 

然后刷新。

flush privileges; 

最后再看一下。

mysql> select host,user from user     -> ; +-----------+------------------+ | host      | user             | +-----------+------------------+ | %         | root             | | localhost | mysql.infoschema | | localhost | mysql.session    | | localhost | mysql.sys        | | localhost | root             | +-----------+------------------+ 5 rows in set (0.00 sec)  

要注意mysql8.0以后的版本创建用户和赋予权限的语句分开了,现在网上查到的很多是针对5.7版本的语句,所以在8.0版本中会报错,要注意一下。

10.用工具连接数据库

如果没什么问题就可以正常远程连接了。

总结

以上是本次完整的linux服务器部署mysql8.0.36的过程,亲测有效,希望为你能提供帮助!
本文参考:
https://blog.csdn.net/Session_lzh/article/details/103671299
https://blog.csdn.net/weixin_44455388/article/details/119681517

相关内容

热门资讯

脚本解密!wpk透视辅助方法,... 脚本解密!wpk透视辅助方法,有哪些免费的wpk作必弊码(透视)真是是真的app(哔哩哔哩);1、上...
脚本解谜!hhpoker软件安... 脚本解谜!hhpoker软件安装包,hhpoker视频巡查真的假的(透视)一直真的是有插件(哔哩哔哩...
脚本分享!wpk显示有作必弊,... 脚本分享!wpk显示有作必弊,wpk俱乐部辅助器(透视)总是真的有软件(哔哩哔哩)1、让任何用户在无...
透视关于!wepoker怎么拿... 透视关于!wepoker怎么拿到好牌,wepokerplus辅助(透视)确实真的是有app(哔哩哔哩...
透视详情!hhpoker怎么破... 透视详情!hhpoker怎么破解,hhpoker底牌透视脚本(透视)总是真的有技巧(哔哩哔哩)1、实...
脚本透视!aapoker脚本,... 脚本透视!aapoker脚本,aapoker如何设置胜率(透视)总是是有技巧(哔哩哔哩)小薇(辅助器...
脚本详情!德普之星辅助工具如何... 脚本详情!德普之星辅助工具如何设置,德普之星辅助工具如何打开(透视)总是真的是有脚本(哔哩哔哩)脚本...
透视推荐!wpk官网下载链接,... 透视推荐!wpk官网下载链接,wpk透视辅助(透视)都是是真的教程(哔哩哔哩)1、超多福利:超高返利...
脚本详情!wpk辅助器,wpk... 脚本详情!wpk辅助器,wpk德州局怎么透视(透视)好像是真的软件(哔哩哔哩)1、德州局怎么透视破解...
透视分享!wejoker透视方... 透视分享!wejoker透视方法,wepoker黑侠辅助器(透视)都是真的有脚本(哔哩哔哩)1、用户...