银河麒麟 V10 x86 安装 MySQL详解(这里是参考其他博主教程后进行的补充)
自己安装途中出现的问题,进行了整合,可参考https://blog.csdn.net/zhen_0220_0000/article/details/155819638,https://blog.csdn.net/a670941001/article/details/144061229。
·
mysql用的是8的版本
麒麟系统和数据库版本去官网下载就行,现在讲解安装过程和安装过程中注意的事项
(这里是参考其他博主教程后进行的补充)
- 麒麟系统安装完成后关闭防火墙(自己玩无所谓,生产环境需配置)
临时关闭防火墙,开机自启
systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld
查看防火墙状态
systemctl status firewalld
显示 inactive (dead) 说明已经关闭,显示 disabled 说明开机不会自动启动
2.上传mysql文件包并进行解压
# 解压(xz格式需先解压为tar,再解包)
xz -d mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
tar -xvf mysql-8.0.36-linux-glibc2.28-x86_64.tar
# 移动并重命名(规范路径)
mv mysql-8.0.36-linux-glibc2.28-x86_64 /usr/local/mysql
- 创建用户和目录(MySQL 需独立用户运行,避免 root 权限风险:)
注意这里创建临时目录是创建在tmp目录下,tmp是系统的临时文件目录,再次开机自启后会清除上次创建的文件
这样会影响后续设置mysql开机自启后,因mysql找不到创建的mysql目录而自启动不成功,建议存放在别处(位置自选)
# 创建mysql用户(无登录权限)
useradd -s /sbin/nologin -M mysql
# 创建数据/日志/临时目录
mkdir -p /data/mysql # 数据目录
mkdir -p /var/log/mysql # 日志目录
mkdir -p /tmp/mysql # 临时目录
# 设置目录权限(仅mysql用户可访问)
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /tmp/mysql
chmod 700 /data/mysql # 严格权限
- 配置系统环境变量,让系统识别mysql命令
# 编辑环境变量文件
vim /etc/profile
**# 在文件末尾添加以下内容**
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
**# 生效配置**
source /etc/profile
**# 验证(输出/usr/local/mysql/bin则正确)**
echo $PAT
- 初始化MySQL(初始化生成临时密码(务必记录!)):
# 初始化(指定数据目录、用户、字符集)
mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
# 关键:初始化完成后,控制台会输出临时密码,格式如下:
# [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxxxx
# 示例:临时密码可能是:8s9k7&8jL0pQ(复制保存!)
- 配置 MySQL 服务(systemd 管理)
创建系统服务文件,方便启停 / 开机自启:
# 创建服务文件
vim /usr/lib/systemd/system/mysqld.service
# 粘贴以下内容(完整配置)
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=notify
TimeoutSec=0
PermissionsStartOnly=true
ExecStart=/usr/local/mysql/bin/mysqld \
--datadir=/data/mysql \
--basedir=/usr/local/mysql \
--user=mysql \
--log-error=/var/log/mysql/error.log \
--pid-file=/tmp/mysql/mysqld.pid \
--socket=/tmp/mysql/mysql.sock \
--tmpdir=/tmp/mysql \
--port=3306
LimitNOFILE = 5000
Restart=on-failure
RestartPreventExitStatus=1
Environment=MYSQLD_PARENT_PID=1
# 重新加载systemd配置
systemctl daemon-reload
# 设置开机自启
systemctl enable mysqld
# 启动MySQL服务
systemctl start mysqld
# 查看服务状态(显示active (running)则启动成功)
systemctl status mysqld
- 核心配置优化(my.cnf)etc/my.cnf
创建 MySQL 主配置文件,适配麒麟 V10 性能和稳定性
注意:如果你对临时日志进行了路径修改,改配置文件中的相关路径文件也要进行修改
[mysqld]
# 基础配置
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql/mysql.sock
pid-file = /tmp/mysql/mysqld.pid
user = mysql
port = 3306
server-id = 1 # 单机部署设为1,主从需改
skip-name-resolve # 禁用DNS解析,提升连接速度
skip-external-locking # 禁用外部锁
# skip-grant-tables=1
# 字符集(适配中文)
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'
log_timestamps = SYSTEM
default-time-zone = +08:00
# 日志配置
log-error = /var/log/mysql/error.log # 错误日志
slow_query_log = 1 # 开启慢查询日志
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2 # 慢查询阈值(2秒)
log_queries_not_using_indexes = 1 # 记录未使用索引的查询
general_log = 1 #执行语句日志
general_log_file = /var/log/mysql/general.log
# 性能优化(根据服务器配置调整)
max_connections = 1000 # 最大连接数
max_connect_errors = 1000000 # 最大连接错误数
innodb_buffer_pool_size = 2G # 内存的50%-70%(示例:8G内存设4G)
innodb_log_file_size = 512M # 日志文件大小
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 1 # 事务安全(生产建议1)
tmp_table_size = 64M
max_heap_table_size = 64M
[client]
socket = /tmp/mysql/mysql.sock
default-character-set = utf8mb4
[mysql]
prompt="\\u@\\h [\\d]>" # 美化命令行提示符
default-character-set = utf8mb4
- 完成配置后重启mysql(如果该过程出现

)则说明my.cnf配置里面有错误,可以使用该博主的代码原文链接:https://blog.csdn.net/zhen_0220_0000/article/details/155819638
注意里面需要添加 因为初步安装mysql时,mysql使用的是UTC时间与本地时间不符需要进行修改
在【mysqld】中添加
log_timestamps = SYSTEM
default-time-zone = +08:00
还需添加 执行语句日志,用于保存日常mysql运行语句
general_log = 1 #执行语句日志
general_log_file = /var/log/mysql/general.log
systemctl restart mysqld
- 登录 MySQL 并修改密码
注意,你在使用临时密码登录时可能出现临时密码过期状况
# 登录MySQL(输入初始化时的临时密码)
mysql -uroot -p
# 示例:输入密码后进入MySQL命令行,提示符变为:root@localhost [(none)]>
如果密码过期,进行如下操作
修改 my.cnf 配置文件
重启数据库执行下面语句,
mysql -u root -p


注释掉刚才添加的参数,然后重启数据库,进行登录
- 修改 root 密码(必须!)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';
-- 允许root远程登录(生产环境建议创建专用用户,而非开放root)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码' PASSWORD EXPIRE NEVER;
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
最后远程登录验证,
更多推荐

所有评论(0)