MySQL数据库常用指令

2024-03-12 11:34:24 浏览数 (1)

MySql常用指令

创建数据库
代码语言:javascript复制
create database 数据库名 character set utf8mb4 collate utf8mb4_bin;
创建数据库账户
代码语言:javascript复制
CREATE USER '数据库账户名'@'localhost' IDENTIFIED BY '要设置的密码';
CREATE USER '数据库账户名'@'%' IDENTIFIED BY '要设置的密码';

注:两段代码分别实现了创建数据库账户。localhost为只允许本地连接数据库。%为允许该账户从任何主机连接数据库。

修改数据库账户密码
代码语言:javascript复制
ALTER USER '数据库账户名'@'localhost' IDENTIFIED BY '要修改为的密码';
ALTER USER '数据库账户名'@'%' IDENTIFIED  with mysql_native_password BY '要修改为的密码';

注:两段代码分别实现了修改数据库账户密码。localhost为只允许本地连接数据库。%为允许该账户从任何主机连接数据库。mysql_native_password 明确指定了认证方式为mysql_native_password,这是MySQL的一种内置密码加密方式。执行此命令后,root用户可以从任何IP地址通过提供的密码连接数据库。

授权指定账户数据库访问权限
代码语言:javascript复制
GRANT ALL PRIVILEGES ON xy.* TO 'newuser'@'localhost';
GRANT ALL PRIVILEGES ON xy.* TO 'newuser'@'%';

注:两段代码分别实现了授权数据库访问权限。localhost为只允许本地连接数据库。%为允许该账户从任何主机连接数据库。newuser为数据库账户,xy代表数据库名,.*表示该数据库下的所有表。

刷新数据库
代码语言:javascript复制
FLUSH PRIVILEGES;
退出MySql指令窗口
代码语言:javascript复制
quit
查询所有数据库
代码语言:javascript复制
show databases;
查询当前使用的数据库
代码语言:javascript复制
select database();
查询当前有哪些表
代码语言:javascript复制
SHOW TABLES;
进入数据库
代码语言:javascript复制
use userdb;

注:userdb为数据库名。

查看某个表全部字段
代码语言:javascript复制
SELECT * FROM slow_log;

注:slow_log为表名。

清空数据表所有数据
代码语言:javascript复制
TRUNCATE TABLE slow_log;

注:slow_log为表名。

删除数据表中的特定数据
代码语言:javascript复制
delete from slow_log where id = '1'; 

注:slow_log为表名。id为某一组特定数据的id字段,这里会通过id字段删除匹配的记录。

修改数据表中的特定数据
代码语言:javascript复制
UPDATE sys_user SET password = '修改的数据内容' WHERE user_id = '1';

注:sys_user为要修改的数据表。user_id为某一组特定数据的user_id字段,这里会通过user_id字段删除匹配的记录。password为要修改的某一组数据的字段。如果你要更改密码,有时密码是进行加密的,所以需要将密码按照其余密码的加密方式生成加密后的密码进行修改。

删除某个数据库
代码语言:javascript复制
DROP DATABASE IF EXISTS 数据库名;
查询数据库所有用户信息
代码语言:javascript复制
select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;

导入备份的.sql文件至MySql还原

1.使用MySql数据库管理账户登入MySql

代码语言:javascript复制
mysql -u usr -p

注:usr为你要登入的账户名。

2.创建数据库

代码语言:javascript复制
create database usrdb character set utf8mb4 collate utf8mb4_bin;

注:数据库名需与导出生成的.sql文件数据库名一致。usrdb为要创建的数据库名。

3.切换到创建的数据库

代码语言:javascript复制
USE usrdb;

4.执行数据库还原

代码语言:javascript复制
SOURCE /var/www/usrdb.sql;

注:路径 .sql文件名。

提示类似以下信息即为成功:

代码语言:javascript复制
Query OK, 0 rows affected (0.00 sec)
Records: 241  Duplicates: 0  Warnings: 0

备份数据库

注:在命令行执行。由于还原时需要先创建数据库,创建的数据库需与备份的数据库名一致,所以导出生成的.sql文件名可以命名为要导出的数据库名。

代码语言:javascript复制
mysqldump   -uusr   -pusr123456   usrdb   >   /var/www/usrdb.sql

注:mysqldump -u 数据库账号 -p 数据库密码 数据库名 > 文件路径以及文件名.sql

安装及配置MySql

操作系统:Linux CentOS 8.0

数据库:MySql 8.0

1.CentOS 8系统需启用MySQL官方仓库:

代码语言:javascript复制
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-2.noarch.rpm

2.更新YUM缓存:

代码语言:javascript复制
sudo yum update

3.先禁用默认的MySql模块:

代码语言:javascript复制
sudo yum module disable mysql

4.执行安装MySql服务器:

代码语言:javascript复制
sudo yum install mysql-community-server

5.启动MySql服务并设置开机自启:

代码语言:javascript复制
sudo systemctl start mysqld
sudo systemctl enable mysqld

6.获取MySql初始随机密码:

MySQL 8.x安装后会自动为管理员用户生成一个临时密码,在 /var/log/mysqld.log 文件中查找类似 A temporary password is generated for root@localhost: 的行以获取该密码。

7.登录MySql:

代码语言:javascript复制
mysql -u usr -p

注:usr为你要登入的账户名。

8.修改MySql密码

代码语言:javascript复制
ALTER USER 'root'@'localhost' IDENTIFIED BY '要修改为的密码';

9.开启MySsql远程连接,任意ip均能使用Mysql账户远程连接:

代码语言:javascript复制
update mysql.user set host='%' where user='usr';
flush privileges;

注:usr为你要授权远程连接的Mysql账户,usr用户可以从任何IP地址或主机名进行远程登录。

0 人点赞