openEuler安装MySQL57包括一整套配置(修改密码、数据存放位置、允许远程连接)

一、安装前的准备工作

1. 确认目前服务器上是否存在MySQL

rpm -qa | grep mysql

如提示没有rpm命令,我们需要安装rpm,命令:yum install rpm

说明:若返回空信息,就说明当前环境没有安装MySQL

2.查看MySQL的相关的配置文件、源代码和帮助文档的位置

whereis mysql

ps:如果有会返回mysql相关的路径

3.通过上述找到对应的目录删除对应的mysql的相关文件

rpm -e --nodeps mysql-xxxx

-- nodeps 参数,跳过依赖检查

说明:如果你当前环境没有安装mysql请忽略2,3步骤。

二、下载MySQL

下载地址:MySQL :: Download MySQL Community Server

1.选择对应的Linux版本和x86/x64进行下载

2. 下载必须的MySQL组件 Server、Client、Common、Libs

3. 上传到服务器某个位置

可以通过远程文件传输工具传输(xftp),不局限于xftp其他传输文件工具均可。

三、安装MySQL组件

前提:

安装顺序:common→libs→client→server

使用rpm -ivh 包名 安装组件

注:参数ivh中,i-install安装;v-verbose进度条;h-hash哈希校验

1. 安装common组件

rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm

 2. 安装libs组件

rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm

3. 安装client组件

rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm

 4. 安装server组件

rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm

 5. 查看MySQL安装结果

rpm -qa | grep mysql

6. 查看MySQL的状态
systemctl status mysqld 默认没启动

7. 启动MySQL

systemctl start mysqld

四、MySQL配置

现在我们登不上MySQL,因为密码是加密的,查看命令

cat /var/log/mysqld.log | grep password

1. 在/etc/my.cnf文件中添加skip-grant-tables

vim /etc/my.cnf

说明:skip-grant-tables是MySQL配置文件(my.cnf)中的一个选项,用于在MySQL服务启动时跳过权限验证,从而让所有用户都具有完全的访问权限。这个选项通常只用于特定的维护任务,并不适合在生产环境中长期使用。(所以我们登录之后修改密码就关掉)

保存并退出 :wq

重启MySQL

systemctl restart mysqld

如下图所示:登录成功。

1. 修改密码

(1)切换到mysql库

use mysql;

(2)查看当前用户信息:执行以下SQL查询语句,查看当前用户的用户名和相关权限

select user, host, authentication_string from user;

说明:在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

(3)使用sql命令修改root账号密码

update user set authentication_string=password('<new_password>') where user='用户';

(4)刷新权限 flush privileges;

3. 退出数据库

exit

4. 删除/etc/my.cnf文件中的skip-grant-tables 保存并退出重启MySQL

vim /etc/my.cnf

:wq

systemctl restart mysqld

5. 重新登录测试

mysql -u root -p

输入密码:登录成功

登录之后遇到,需要重新设置密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'H+oAVQ2Bq1';

刷新权限  flush privileges;

五、重新设置数据库数据存放位置

1. 查看默认数据库路径存放位置

show variables like "%datadir%";

2. 创建一个目录用于存放mysql数据

mkdir /data/mysql/data

3. 停止mysql

systemctl stop mysqld

4. 将默认位置的mysql存放复制到我们想要的位置

cp -arp /var/lib/mysql /data/mysql/data

-arp  参数就是为了 保持原文件目录和文件的权限 直接复制到目标路径下。

5. 设置权限

chown -R msyql:mysql /data/mysql/data/mysql

6. 修改配置文件

vim /etc/my.cnf

7. 重启mysql看是否生效

systemctl start mysqld

8. 连接mysql

mysql -u root -p

报错如下:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

原因:找不到这个sock文件

解决方法:

(1)先找.sock文件

find / -name mysql.sock

 (2)在/etc/my.cnf 中添加如下

[client]

default-character-set=utf8

socket=/data/mysql/data/mysql/mysql.sock

[mysql]

default-character-set=utf8

socket=/data/mysql/data/mysql/mysql.sock

9.重启数据库

10.重新登录

11.查看数据库存放位置是否成功

六、开启mysql远程访问权限,允许远程连接

1. 登录mysql

mysql -u root -p

2. 选择mysql数据库

use mysql

3. 修改配置

update user set host='%' where user='root';

4. 刷新权限,使其生效

flush privileges;

5. 退出

exit

参考:

openEuler基础(二十六)RPM方式安装软件(MySQL5.7)_openeuler安装mysql5.7_看山还是山,看水还是水的博客-CSDN博客

MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket_白墨石的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/m0_52985087/article/details/132835975