银河麒麟V10安装MySQL 5.7全流程:root远程登录+常见报错处理 麒麟系统安装mysql-5.7并实现root远程登录清理系统环境查看系统版本信息卸载mariadb删除用户和组部署软件包下载mysql软件包解压软件包创建系统用户配置目录与权限初始化数据库配置环境变量初始化数据库配置文件自定义配置文件设置权限配置service文件创建service文件启动服务服务端配置root用户远程登录登录数据库设置root密码开启远程登录权限设置系统环境关闭防火墙查看ip地址客户端访问Windows客户度访问Linux客户端访问安装mysql客户端远程连接数据库FAQ常见问题目录结构1.查看目录结构2.忘记root密码解决方案停止服务跳过权限验证修改密码结束跳过权限进程验证3.清理环境清理系统环境查看系统版本信息[rootlocalhost ~]# nkvers############## Kylin Linux Version #################Release: Kylin Linux Advanced Server release V10(Halberd)Kernel:4.19.90-89.11.v2401.ky10.x86_64 Build: Kylin Linux Advanced Server release V10 SP32403/(Halberd)-x86_64-Build20/20240426#################################################卸载mariadb#查看预转的mariadb软件包[rootlocalhost ~]# rpm -qa |grep mariadbmariadb-common-10.3.39-1.p02.ky10.x86_64 mariadb-errmessage-10.3.39-1.p02.ky10.x86_64 mariadb-10.3.39-1.p02.ky10.x86_64 mariadb-connector-c-3.0.6-9.ky10.x86_64 mariadb-server-10.3.39-1.p02.ky10.x86_64#卸载预转软件包[rootlocalhost ~]# yum remove -y mariadb-common mariadb-errmessage mariadb mariadb-connector-c mariadb-server删除用户和组[rootlocalhost mysql]# userdel mysql[rootlocalhost mysql]# groupdel mysql部署软件包下载mysql软件包访问mysql官方地址下载想要安装的软件包版本本次选择的是5.7.25版本包名是mysql-5.7.25-linux-glibc2.12-x86_64.tar上传软件包到服务器的root目录下解压软件包#解压软件包[rootlocalhost ~]# tar xf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz#创建工作目录[rootlocalhost ~]# mkdir /mydata#将软件包移动到工作目录[rootlocalhost ~]# mv mysql-5.7.25-linux-glibc2.12-x86_64 /mydata/mysql#切换工作目录[rootlocalhost ~]# cd /mydata/mysql创建系统用户[rootlocalhost mysql]# groupadd mysql[rootlocalhost mysql]# useradd -g mysql -s /sbin/nologin -M mysql配置目录与权限[rootlocalhost mysql]# mkdir -p /mydata/mysql/{data,log,run}[rootlocalhost mysql]# chown -R mysql.mysql /mydata/mysql初始化数据库配置环境变量#设置环境变量[rootlocalhost mysql]# echo export PATH/mydata/mysql/bin:$PATH | tee -a /etc/profileexportPATH/mydata/mysql/bin:$PATH#使环境变量生效[rootlocalhost mysql]# source /etc/profile#查看环境变量是否生效[rootlocalhost mysql]# echo $PATH/mydata/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin初始化数据库#初始化数据库[rootlocalhost mysql]# sudo -u mysql ./bin/mysqld --initialize --usermysql --basedir/mydata/mysql --datadir/mydata/mysql/data --log-error/mydata/mysql/log/mysql-error.log#查看密码[rootlocalhost mysql]# grep password log/mysql-error.log2025-07-07T16:49:59.169981Z1[Note]A temporary password is generatedforrootlocalhost: 0Y%jhb0osTu配置文件自定义配置文件#创建文件并输入下面内容[rootlocalhost mysql]# cat /etc/my.cnf[mysqld]port3306usermysqlbasedir/mydata/mysqldatadir/mydata/mysql/datasocket/mydata/mysql/run/mysql.sock log-error/mydata/mysql/log/mysql-error.log pid-file/mydata/mysql/run/mysqld.pid character-set-serverutf8mb4 collation-serverutf8mb4_general_cimax_connections500default-storage-engineINNODBsql_modeSTRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION[client]socket/mydata/mysql/run/mysql.sock设置权限[rootlocalhost mysql]# chmod 644 /etc/my.cnf[rootlocalhost mysql]# chown mysql:mysql /mydata/mysql/log/mysql-error.log配置service文件创建service文件[rootlocalhost mysql]# cat /etc/systemd/system/mysqld.service[Unit]DescriptionMySQL ServerAfternetwork.target[Service]UsermysqlGroupmysqlTypeforkingExecStart/mydata/mysql/support-files/mysql.server startExecStop/mydata/mysql/support-files/mysql.server stopExecReload/mydata/mysql/support-files/mysql.server restartPIDFile/mydata/mysql/run/mysqld.pid[Install]WantedBymulti-user.target启动服务#加载服务配置[rootlocalhost mysql]# systemctl daemon-reload#启动服务[rootlocalhost mysql]# systemctl start mysqld.service#设置服务开机自启动[rootlocalhost mysql]# systemctl enable mysqld.service服务端配置root用户远程登录登录数据库[rootlocalhost mysql]# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis2Server version:5.7.25 Copyright(c)2000,2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. mysql设置root密码设置root密码为Abcd1234MariaDB[(none)]ALTERUSERrootlocalhostIDENTIFIED BYAbcd1234;Query OK,0rows affected(0.000sec)开启远程登录权限#设置权限 Abcd1234是设置的密码可以根据自己需求设置MariaDB[(none)]grant all privileges on *.* toroot%identified byAbcd1234with grant option;Query OK,0rows affected(0.000sec)#刷新权限MariaDB[(none)]flush privileges;Query OK,0rows affected(0.000sec)#查看root用户可以访问的权限MariaDB[(none)]selecthost,user,plugin from mysql.user;-------------------------|host|user|plugin|-------------------------|localhost|root|||127.0.0.1|root|||::1|root|||%|root||-------------------------4rowsinset(0.000sec)设置系统环境关闭防火墙#关闭防火墙[rootlocalhost ~]# systemctl disable firewalld.service --nowRemoved /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.#查看服务[rootlocalhost ~]# systemctl status firewalld.service● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendor preset: enabled)Active: inactive(dead)Docs: man:firewalld(1)7月 0720:39:42 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...7月 0720:39:42 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.7月 0713:22:09 localhost systemd[1]: Stopping firewalld - dynamic firewall daemon...7月 0713:22:11 localhost systemd[1]: firewalld.service: Succeeded.7月 0713:22:11 localhost systemd[1]: Stopped firewalld - dynamic firewall daemon.查看ip地址我的服务端ip地址是192.168.2.135[rootlocalhost ~]# ifconfigens160:flags4163UP,BROADCAST,RUNNING,MULTICASTmtu1500inet192.168.2.135 netmask255.255.255.0 broadcast192.168.2.255 inet6 fe80::951:3208:c9a5:3fd5 prefixlen64scopeid 0x20linkether 00:0c:29:e2:2a:d4 txqueuelen1000(Ethernet)RX packets135853bytes196452619(187.3MiB)RX errors0dropped0overruns0frame0TX packets22177bytes1705055(1.6MiB)TX errors0dropped0overruns0carrier0collisions0lo:flags73UP,LOOPBACK,RUNNINGmtu65536inet127.0.0.1 netmask255.0.0.0 inet6 ::1 prefixlen128scopeid 0x10hostloop txqueuelen1000(Local Loopback)RX packets352bytes28816(28.1KiB)RX errors0dropped0overruns0frame0TX packets352bytes28816(28.1KiB)TX errors0dropped0overruns0carrier0collisions0客户端访问Windows客户度访问连接名称自定义随便写主机地址写服务端的ip我的是192.168.2.135端口我们没有修改默认是3306用户名是root密码输入上面配置的密码我的是 Abcd1234连接成功后界面如下可以查看到数据库内容Linux客户端访问安装mysql客户端[root192 ~]# yum install mariadb已加载插件fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: d2lzkl7pfhq30w.cloudfront.net * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 软件包1:mariadb-5.5.68-1.el7.x86_64 已安装并且是最新版本 无须任何处理远程连接数据库在Centos7系统远程连接数据库-h参数后面输入服务端的ip地址[root192 ~]# mysql -h192.168.2.135 -uroot -pEnter password: Welcome to the MariaDB monitor. Commands end with;or\g. Your MariaDB connectionidis21Server version:10.3.39-MariaDB MariaDB Server Copyright(c)2000,2018, Oracle, MariaDB Corporation Ab and others. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. MariaDB[(none)]FAQ常见问题目录结构1.查看目录结构[rootlocalhost ~]# cd /mydata/[rootlocalhost mydata]# tree -L 2.└── mysql ├── bin ├── COPYING ├── data ├── docs ├── include ├── lib ├── log ├──man├── README ├── run ├── share └── support-files2.忘记root密码解决方案停止服务[rootlocalhost ~]# systemctl stop mysqld.service跳过权限验证[rootlocalhost ~]# mysqld_safe --skip-grant-tables [1]34806修改密码#登录数据库[rootlocalhost ~]# mysql -uroot#刷新权限mysqlflush privileges;Query OK,0rows affected(0.01sec)#设置密码mysqlALTERUSERrootlocalhostIDENTIFIED BYAbcd123456;Query OK,0rows affected(0.01sec)#再次刷新权限mysqlflush privileges;Query OK,0rows affected(0.00sec)#退出数据库mysqlquit[rootlocalhost ~]#结束跳过权限进程#查看mysql相关进程号[rootlocalhost ~]# ps aux | grep mysqlroot348060.00.12139923684pts/1 S 01:170:00 /bin/sh /mydata/mysql/bin/mysqld_safe --skip-grant-tables mysql350390.36.41376468189208pts/1 Sl 01:170:00 /mydata/mysql/bin/mysqld--basedir/mydata/mysql--datadir/mydata/mysql/data --plugin-dir/mydata/mysql/lib/plugin--usermysql --skip-grant-tables --log-error/mydata/mysql/log/mysql-error.log --pid-file/mydata/mysql/run/mysqld.pid--socket/mydata/mysql/run/mysql.sock--port3306root350740.00.0213104976pts/1 S 01:180:00grep--colorauto mysql#每次进程号都不一样本次进程号为34806 35039[rootlocalhost ~]# kill -9 34806 35039验证#启动服务[rootlocalhost ~]# systemctl start mysqld.service#查看服务[rootlocalhost ~]# systemctl status mysqld.service#登录[rootlocalhost ~]# mysql -uroot -pAbcd123456mysql:[Warning]Using a password on thecommandline interface can be insecure. Welcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis2Server version:5.7.25 MySQL Community Server(GPL)Copyright(c)2000,2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. mysql3.清理环境systemctl stop mysqld.serviceuserdelmysqlgroupdelmysqlrm-rf/mydata/mysql/rm-rf/etc/my.cnfrm-f/etc/systemd/system/mysqld.servicerm-f/etc/systemd/system/multi-user.target.wants/mysqld.servicesed-i#mydata/mysql#d/etc/passwdrm-rf/var/spool/mail/mysqlks of their respectiveowners.Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.mysql## 3.清理环境 bash systemctl stop mysqld.service userdel mysql groupdel mysql rm -rf /mydata/mysql/ rm -rf /etc/my.cnf rm -f /etc/systemd/system/mysqld.service rm -f /etc/systemd/system/multi-user.target.wants/mysqld.service sed -i #mydata/mysql#d /etc/passwd rm -rf /var/spool/mail/mysql

本月热点