前言
最近开始计划在Ubuntu上写一个webserver的项目,看到一些比较好的类似的项目使用了MySQL,我就打算先把环境搞好跑一下试试,方便后面更进一步的学习。其实在本机windows上我已经有一个mysql,不过
在Unbuntu上安装MySQL
首先先更新列表
sudo apt-get update
然后安装MySQL服务器
sudo apt-get install mysql-server
一般有mysql-server就够了,在Linux系统下用client的情况也少,windows比较多
一旦server安装完成,MySQL服务将会自动启动,可以使用如下指令检查状态
sudo systemctl status mysql
会看到如下输出
● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset:>Active: active (running) since Sat 2024-05-25 23:21:22 PDT; 7h agoMain PID: 93571 (mysqld)Status: "Server is operational"Tasks: 45 (limit: 4556)Memory: 121.7MCGroup: /system.slice/mysql.service└─93571 /usr/sbin/mysqld
May 25 23:21:21 ubuntu systemd[1]: Starting MySQL Community Server...
May 25 23:21:22 ubuntu systemd[1]: Started MySQL Community Server.
lines 1-12/12 (END)
运行MySQL初始化安全脚本(如果只是出于学习目的则下面操作可有可无)
sudo mysql_secure_installation
mysql_secure_installation脚本设置的东西:更改root密码、移除MySQL的匿名用户、禁止root远程登录、删除test数据库和重新加载权限。除了询问是否要更改root密码时,看情况是否需要更改,其余的问题都可以按Y,然后ENTER接受所有后续问题的默认值。使用上面的这些选项可以提高MySQL的安全。
MySQL服务基本指令使用
启动MySql数据服务
sudo service mysql start
重启MySQL数据库服务
sudo service mysql restart
停止数据库服务
sudo service mysql stop
查看MySQL运行状况
sudo service mysql status
设置MySQL服务开机自启动
sudo service mysql enable
MySQL的配置文件位置:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
MySQL创建用户和授权
# 登录mysql并输入密码
mysql -u root -p#若是自用,其实也没必要设密码
alter user 'root'@'localhost' identified by '这里填你要的密码';
一些基本MySQL操作
创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
用户授权
GRANT privileges ON databasename.tablename TO 'username'@'localhost';
privilege 用户操作权限,一般使用ALL
databasename:数据库名,tablename:表名
若是全部数据库和表则可以使用*
撤销用户权限
REVOKE privileges ON databasename.tablename FROM 'username'@'localhost';
删除用户
DROP USER 'username'@'localhost';
查看用户信息:
首先先切换mysql数据库
use mysql;
查询用户表
select User,Host FROM user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
| wang1664178416 | localhost |
查看用户权限
show grants for 'username'@'localhost'