ubuntu安装使用MySql

1. 更新软件包列表:
sudo apt update
2. 安装MySQL服务器:
sudo apt install mysql-server -y
3. 运行安全配置向导

安装完成后,执行安全脚本以设置加固MySQL:

sudo mysql_secure_installation

根据提示完成以下操作:

  • 选择密码强度验证策略(可选)。

  • 为root用户设置密码。

  • 移除匿名用户(选Y)。

  • 禁止远程root登录(选Y)。

  • 删除测试数据库(选Y)。

  • 重新加载权限表(选Y)。

4. 登录MySQL并创建新用户/数据库:

我这里安装好mysql,登录mysql环节,到输入密码的时候,免密(没有输入密码,直接敲回车)就能登录,下边有恢复密码登录的方法。

4.1 使用root账号登录MySQL
sudo mysql -u root -p
4.2 修改root账号密码
-- 修改root用户的认证插件
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
FLUSH PRIVILEGES;
4.3 创建新用户/数据库:
-- 创建新数据库
CREATE DATABASE example_db;

-- 创建新用户并设置密码(替换 'username' 和 'password')
CREATE USER 'username'@'localhost' IDENTIFIED BY 'your_secure_password';

-- 授予用户对数据库的完全权限
GRANT ALL PRIVILEGES ON example_db.* TO 'username'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出MySQL
EXIT;
5. 调整身份验证方式(可选)
5.1 恢复密码验证:

若是遇到无密码就可以登录mysql,恢复密码验证

sudo systemctl stop mysql
sudo mysqld_safe &
sudo systemctl start mysql
5.2 若是忘记了root账号密码(可选):

跳过密码验证的方式启动MySQL:

sudo systemctl stop mysql
#以跳过密码验证的方式启动MySQL:
sudo mysqld_safe --skip-grant-tables &
sudo systemctl start mysql
sudo mysql -u root -p

修改root用户的认证插件

-- 修改root用户的认证插件
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
FLUSH PRIVILEGES;
6. 配置远程访问(可选)
6.1 修改MySQL绑定地址
# 编辑配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address 并修改为:

bind-address = 0.0.0.0  # 允许所有IP访问(或指定服务器IP)
6.2 创建远程访问用户
-- 登录MySQL
sudo mysql -u root -p

-- 创建允许远程连接的用户(示例:允许从任何IP访问)
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'remote_password';
GRANT ALL PRIVILEGES ON example_db.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;
EXIT;
7. 开放防火墙端口
# 允许3306端口(MySQL默认端口)
sudo ufw allow 3306/tcp
sudo ufw reload
8. 执行sql脚本

假设你的脚本文件名为create.sql(指定create.sql文件的完全路径)

source D:/PDF/SQL/mysql_scripts/create.sql;
常用命令
# 启动/停止/重启MySQL服务
sudo systemctl start mysql
sudo systemctl stop mysql
sudo systemctl restart mysql

# 查看服务状态
sudo systemctl status mysql

# 登录MySQL命令行
mysql -u username -p
常用mysql语法
#切换到数据库
USE 数据库名;

#显示当前数据库
SELECT DATABASE();

#列出所有数据库
SHOW DATABASES;

#列出数据库中的表:
SHOW TABLES;

#查看特定表的结构
DESCRIBE 表名;

#查看表中的内容:
SELECT * FROM 表名;

# 查看所有用户账号,需要足够高的权限,可以使用root账号
SELECT User, Host FROM mysql.user;

# 查看当前账号
SELECT user();
注意事项
  • 安全建议:仅允许必要的主机远程访问,使用强密码并定期更新。

  • 备份数据:定期使用 mysqldump 备份数据库。

  • 错误排查:查看日志文件 /var/log/mysql/error.log。

完成以上步骤后,MySQL已配置完毕,可根据需求进行数据库操作或应用连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值