麒麟体系安装Mysql
步骤1:添加 MySQL 官方 APT 仓库直接在终端执行以下命令,体系会自动设置仓库并选择版本:
# 下载 MySQL APT 仓库配置工具
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
# 安装配置工具(会弹出图形界面选择版本)
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
[*] 在弹出的设置界面中:
[*] 选择 MySQL Server & Cluster -> mysql-8.0。
[*] 选择 OK 确认。
步骤2:更新仓库并安装 MySQL 8.0.41
# 更新软件源
sudo apt update
若缺少秘钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
# 更新软件源 sudo apt update
#安装
sudo apt install mysql-server 步骤3:启动服务并初始化
# 启动 MySQL
sudo systemctl start mysql
# 设置开机自启
sudo systemctl enable mysql
# 运行安全配置向导
sudo mysql_secure_installation
2. 查找临时暗码
MySQL 8.0 在首次安装时会天生一个临时暗码,通常记录在日志文件中。执行以下命令查找:
sudo grep 'temporary password' /var/log/mysql/error.log
3. 使用临时暗码登录 MySQL
使用临时暗码登录 MySQL:
mysql -u root -p
4. 修改 root 暗码
在 MySQL 命令行中执行以下命令修改暗码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;
5. 重新运行安全设置向导
修改暗码后,重新运行安全设置向导:
sudo mysql_secure_installation
sudo mysql
6. 假如未找到临时暗码
假如未找到临时暗码,可能是 MySQL 使用了 auth_socket 插件,允许体系用户无需暗码直接登录。可以通过以下方式办理:
使用 sudo 直接登录
[*] 按提示操纵:
[*] 设置 root 暗码。
[*] 移除匿名用户(输入 Y)。
[*] 禁止长途 root 登录(输入 Y)。
[*] 删除测试数据库(输入 Y)。
[*] 重新加载权限表(输入 Y)。
[*] 操纵完成后假如发现没有设置暗码
[*] 1. 查抄 MySQL 是否已启动
确保 MySQL 服务已正常运行:
sudo systemctl status mysql
[*] 假如状态为 active (running),阐明服务已启动。
[*] 假如未启动,尝试手动启动:
sudo systemctl start mysql
[*] 输出示例:
2023-10-01T12:34:56.789012Z 6 A temporary password is generated for root@localhost: abcdef123456
[*] 记下临时暗码(如 abcdef123456)。
[*] 输入临时暗码后进入 MySQL 命令行。
[*] 将 你的新暗码 替换为强暗码(如 MyNewPassword123!)。
[*] 输入新暗码。
[*] 按提示完成安全设置(如删除匿名用户、禁止长途 root 登录等)。
[*] 进入 MySQL 命令行后,执行以下命令修改暗码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;
sudo mysql
[*] 进入 MySQL 命令行后,执行以下命令修改暗码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;
[*] 退出 MySQL 命令行后,使用新暗码登录:
mysql -u root -p
[*] 输入新暗码,确认是否可以正常登录。
步骤4:验证安装
# 查看版本
mysql --version
# 输出示例:mysqlVer 8.0.41 for Linux on x86_64 (MySQL Community Server - GPL)
# 登录 MySQL
mysql -u root -p
# 输入密码后进入 MySQL 命令行
[*]
关键留意事项
[*] 版本兼容性
[*] 若麒麟体系基于 Ubuntu 20.04,需将安装命令中的 ubuntu22.04 替换为 ubuntu20.04。
[*] 若仓库中无 8.0.41 版本,可安装最新 8.0.x 版本(如 8.0.42),功能完全兼容。
[*] 依赖冲突处理
假如之前安装过 MySQL 或 MariaDB,需先彻底卸载:
sudo apt purge mysql-server* mariadb-server*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt autoremove
[*] 设置文件路径
[*] 主设置文件:/etc/mysql/my.cnf
[*] 数据目录:/var/lib/mysql
[*] 防火墙设置(可选)
如需长途访问,开放 3306 端口:
sudo ufw allow 3306/tcp
常见问题办理
[*] 安装时提示依赖错误
运行以下命令修复依赖:
sudo apt install -f
[*] 安装界面未弹出书籍选择
手动编辑仓库设置文件:
sudo nano /etc/apt/sources.list.d/mysql.list 确保包罗以下内容:
deb http://repo.mysql.com/apt/ubuntu/ focal mysql-8.0# 替换 focal 为系统代号(如 jammy)
[*] 忘记 root 暗码
重置暗码步骤:
sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &
mysql -u root
# 在 MySQL 命令行执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
exit
sudo systemctl start mysql
假如 MySQL 只能在本地毗连,而局域网内的其他电脑无法毗连,通常是因为 MySQL 的设置限制了长途访问。以下是办理方法的详细步骤:
1. 查抄 MySQL 绑定地点
MySQL 默认只绑定到 127.0.0.1(即本地回环地点),必要修改为 0.0.0.0 以允许长途毗连。
步骤1:编辑 MySQL 设置文件
[*] 打开 MySQL 设置文件:
bash
复制
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
[*] 假如文件路径差别,请根据现实路径调整。
[*] 找到 bind-address 设置项,将其修改为:
ini
复制
bind-address = 0.0.0.0
[*] 0.0.0.0 表示允许全部 IP 地点毗连。
[*] 生存并退出(Ctrl + O 生存,Ctrl + X 退出)。
步骤2:重启 MySQL 服务
bash
复制
sudo systemctl restart mysql 2. 查抄防火墙设置
假如防火墙未开放 MySQL 的端口(默认 3306),局域网内的其他电脑将无法毗连。
步骤1:开放 3306 端口
[*] 假如使用 ufw 防火墙:
bash
复制
sudo ufw allow 3306/tcp
sudo ufw reload
[*] 假如使用 iptables 防火墙:
bash
复制
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4
步骤2:查抄防火墙状态
bash
复制
sudo ufw status
[*] 确保 3306/tcp 已允许。
3. 查抄 MySQL 用户权限
MySQL 用户默认只能从 localhost 毗连,必要授权长途访问。
步骤1:登录 MySQL
bash
复制
mysql -u root -p 步骤2:授权长途访问
[*] 查看当前用户权限:
sql
复制
SELECT user, host FROM mysql.user;
[*] 假如 root 用户的 host 仅为 localhost,则必要修改。
[*] 授权 root 用户从任意 IP 访问:
sql
复制
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
[*] 将 你的暗码 替换为现实暗码。
[*] 假如已有 root@% 用户,只需更新权限:
sql
复制
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
步骤3:退出 MySQL
sql
复制
exit; 4. 查抄网络毗连
确保局域网内的其他电脑可以访问 MySQL 服务器的 IP 地点。
步骤1:获取 MySQL 服务器的 IP 地点
在 MySQL 服务器上运行:
bash
复制
ip a
[*] 找到局域网 IP 地点(如 192.168.1.100)。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]