Mysql安装以及常用操作
编辑
31
2024-11-05
有些指令一段时间不写就容易忘记,这里简单做个汇总记录一下。
一、mysql的安装以及配置
1. 安装mysq
debian或ubantu系统直接用这个指令安装,中途会提示设置密码之类的。
安装之前记得先更新软件包apt update && apt upgrade -y
sudo apt install mysql-server
安装完之后就可以用了,登录使用
mysql -uroot -p
然后会提示输入密码,输入设置的密码就可以连接到mysql服务器了
# 开机自启
systemctl enable mysql
# 开始运行
systemctl start mysql
# 停止
systemctl stop mysql
# 重启
systemctl restart mysql
2. 修改配置
配置文件一般安装好了之后不用修改,这里可以按需进行修改
1. 配置文件位置
-
Linux/macOS:通常位于/etc/my.cnf或/etc/mysql/my.cnf。
-
Windows:通常位于C:\ProgramData\MySQL\MySQL Server X.Y\my.ini。
修改后记得重启systemctl restart mysql
vim my.cnf
[mysqld]
# 设置服务器的默认字符集为utf8
character-set-server=utf8
# 设置最大连接数,影响并发数量,默认151
max_connections = 151
# 设置服务器的时区
default-time-zone = '+08:00'
# nnoDB存储引擎的缓冲池大小,影响内存中数据的缓存,默认128
innodb_buffer_pool_size = 128M
# 设置临时表的最大大小
tmp_table_size = 32M
# 设置MySQL的日志文件的位置
log-error=/var/log/mysql/error.log
[client]
# 设置客户端的默认字符集
default-character-set=utf8
二、常用操作
在mysql中的指令一句结束之后都要加;
不要忘记!
1. 数据库相关
- 查看数据库
SHOW DATABASES;
- 选择数据库,也是进入数据库
mydatabase
是要进入的数据库的名字。
USE mydatabase;
- 创建数据库
CREATE DATABASE mynewdb;
- 创建utf-8编码的数据库
CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 删除数据库
DROP DATABASE mynewdb;
- 查看当前选择的数据库
SELECT DATABASE();
2. 表相关
- 查看当前数据库的所有表
SHOW TABLES;
- 创建表(一般没这么随便)
CREATE TABLE 表名 (列名 数据类型, ...);
例如:CREATE TABLE users (id INT, name VARCHAR(100), age INT);
- 查看表结构
desc 表名;
- 删除
DROP TABLE 表名;
- 删除表数据
DELETE FROM xxx [WHERE 删除条件] ;
- 清空表的数据
TRUNCATE TABLE xxx;
3. 数据相关
- 插入数据
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);,例如:INSERT INTO users (id, name, age) VALUES (1, 'Alice', 30);
- 查询数据:使用命令SELECT * FROM 表名;,例如:
SELECT * FROM users;
- 更新数据:使用命令UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;,例如:
UPDATE users SET age = 31 WHERE id = 1;
- 删除数据:使用命令DELETE FROM 表名 WHERE 条件;,例如:
DELETE FROM users WHERE id = 1;
- 随机抽取100条数据
SELECT * FROM `table` ORDER BY RAND() LIMIT 0,100;
4. 用户相关
- 创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
将username
替换为你想要创建的用户名。
localhost
表示允许登录该账户的IP只为当前主机的回环地址,你可以改为%
来表示所有IP都可访问。
将password
替换为你想要设置的密码。
- 用户授权,例如,授予 new_user 对特定数据库(例如 your_database )的所有权限:
授予所有数据库权限可以用*.*
替代your_database.*
GRANT ALL PRIVILEGES ON your_database.* TO 'new_user'@'localhost';
- 刷新权限-权限授予后,刷新才可以生效
FLUSH PRIVILEGES;
- 默认root用户是只能本机链接的,可以用下面的指令设置成远程访问
其实就是在mysql.user表中把字段改一下
update user set host = "%" where user = "root";
- 查看当前所有用户
select * from mysql.user;
- 删除用户
DROP USER '用户名'@'localhost';
其中,用户名
是要删除的用户的名称,localhost
是该用户的主机名。
- 修改用户密码
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
- 0
- 0
-
分享