麒麟V10 x86系统安装mysql

一. 下载并解压tar包

通过下面网址下载 ,注意需要登录oracle网站后,才能下载。

https://dev.mysql.com/downloads/mysql/

mkdir -p /root/mysql

tar -xvf mysql-8.0.45-1.el8.x86_64.rpm-bundle.tar -C /root/mysql

二. 安装部署包

注意,要按下面的顺序安装,不然会出错。

安装顺序:common->(client-plugins)->libs->client->(icu-data-files)->server

rpm -ivh mysql-community-common-8.0.45-1.el8.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.45-1.el8.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.45-1.el8.x86_64.rpm

rpm -ivh mysql-community-client-8.0.45-1.el8.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.45-1.el8.x86_64.rpm

rpm -ivh mysql-community-server-8.0.45-1.el8.x86_64.rpm

说明:

-i: ---install。 安装软件包

-v: -verbose。 提供更多的详细信息输出

-h: -hash。 软件包安装的时候列出hash标记,展示进度条

如下显示,安装完成:

mysql --version

三. 解决mysql表名大小写敏感的问题

1、停止MySQL systemctl stop mysqld

2、删除数据目录,即删除 /var/lib/mysql 目录
rm -rf /var/lib/mysql

3、在MySQL配置文件( /etc/my.cnf )中添加
lower_case_table_names=1

4、启动 MySQL systemctl start mysqld

四. 修改数据库密码

1.查看默认生成的密码

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

2.用临时密码登录mysql

mysql -uroot -p'?kwtGt2CIg1&'

  1. 修改root账号密码。密码为:my@Passwrod

ALTER USER 'root'@'localhost' IDENTIFIED BY 'my@Passwrod';

4.更新数据库

FLUSH PRIVILEGES;

  1. 退出数据库,用新密码登录mysql

exit;

mysql -uroott -p'my@Passwrod'

五. 设置远程

  1. 切换数据库到mysql

use mysql;

  1. 查看user表中的用户

select host,user,authentication_string from user;

3.授权root远程登录

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

4.刷新权限

flush privileges;

  1. 退出mysql环境,并重启mysqle服务。

exit;

systemctl restart mysqld

六. 设置开机自启动

1.查看开机是否能自启动

systemctl list-unit-files |grep mysqld

  1. 设置开机自动启动

systemctl enable mysqld

3.设置开机不自动启动

systemctl disable msyqld

七.修改数据存放位置

  1. 停止mysql服务

systemctl stop mysqld

  1. 新建数据存放目录,注意其目录的访问权限
复制代码
# 创建新目录(示例:/data/mysql)
sudo mkdir -p /data/mysql
# 设置正确的所有者
sudo chown -R mysql:mysql /data/mysql
# 设置权限
sudo chmod 750 /data/mysql
  1. 修改配置文件,[mysqld] 和 [client] 两处的socket路径必须保持一致!
复制代码
vim /etc/my.cnf
复制代码
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock

[client]
socket=/data/mysql/mysql.sock

4.**处理SELinux,**麒麟系统关键

复制代码
# 检查SELinux状态
getenforce

如果返回 Enforcing,执行以下命令,如是 Disabled, 此此可省。

bash

复制代码
# 安装管理工具(如果没有)
sudo yum install -y policycoreutils-python-utils

# 为新目录设置正确的SELinux上下文
sudo semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
sudo restorecon -Rv /data/mysql
  1. 初始化数据库(非常重要!)

因为目录是空的,MySQL需要重新初始化系统表:

sudo mysqld --initialize --user=mysql --datadir=/data/mysql

如果上面命令报错,尝试

sudo mysqld --initialize-insecure --user=mysql --datadir=/data/mysql

初始化完成后,重启mysql服务。

systemctl restart mysqld

  1. 按前面第四点,查临时密码,登录mysql后,再重置数据库密码

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

mysql -uroot -p'e_!TUws_r3g;'

ALTER USER 'root'@'localhost' IDENTIFIED BY 'my@Passwrod';

FLUSH PRIVILEGES;

7.验证

复制代码
# 查看数据目录
ls -la /data/mysql
# 应该能看到 auto.cnf, ib_buffer_pool, ibdata1, mysql, performance_schema 等文件和目录

# 查看进程
ps aux | grep mysql
# 应该能看到 mysqld 进程,且 datadir 指向 /data/mysql

# 查看端口
sudo netstat -tulnp | grep 3306
相关推荐
excel12 分钟前
prisma 如何处理数据库竞态
前端·数据库·后端
知行产研40 分钟前
易控智驾:毛利率跃升17.2个百分点,矿山无人驾驶从“规模换增长“迈入“盈利拐点“
数据库·mysql
千里码aicood1 小时前
基于CART算法的图书分类系统设计与实现
数据库·算法·分类
饺子大魔王的男人1 小时前
Redis 内存和连接异常怎么排查?用 redis_exporter 搭一套可远程抓取的监控链路
数据库·redis·bootstrap
可涵不会debug1 小时前
第一次学 LangGraph:用一个快递案例搞懂 State、Node、Edge 和 compile
服务器·数据库·mysql
IvorySQL2 小时前
PostgreSQL 日报 |RLS 机密性绕过漏洞(9 月 27 日)
数据库·postgresql
夕除2 小时前
redis--RDB AOF
数据库·redis·缓存
用户250458106092 小时前
数据库索引为什么会失效?从执行计划理解 SQL 性能优化
sql·mysql
数据工匠老o3 小时前
"能用应用层解决的不用存储过程",十年数据库经验总结
数据库·架构
AC赳赳老秦3 小时前
公开音频转写信息提取:OpenClaw 处理发布会与听证会文本并提取核心决策信息
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw