VPS 使用 SSH 执行 MYSQL 命令

一般数据库用 phpMyAdmin 管理,操作起来更直观。偶尔可能会用到命令,记录一下。

MySQL 状态管理

/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}

路径与实际环境有关,请按实际情况修改。

登陆 MySQL

执行 mysql 即可进入 mysql 命令行管理。如不能进入,先进入 mysql 执行文件所在目录,如:cd usr/bin,再运行 mysql 命令就可以进入。

[root@ ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3541
Server version: 5.5.59-log Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

或者指定用户登录,语法:mysql -u用户名 -p,回车,输入用户密码

如使用 root 用户登陆,执行 mysql -uroot -p,回车后提示输入密码,输入 MySQL root 用户密码,如:12345,然后回车即可进入到 mysql 中,mysql 提示符是:mysql>

注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

MySQL 增加新用户

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"

如:增加一个用户 user1 密码为 password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除权限。首先用以root用户连入 mysql,然后键入以下命令:

grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

如果希望该用户能够在任何机器上登陆 mysql,则将 localhost 改为 "%"

如果你不想 user1 有密码,可以再执行一个命令将密码去掉:

grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

如果需要所有权限,执行:

grant ALL on *.* to user1@"%" identified by "myPassword";

MySQL 操作数据库

登录到 mysql,在 mysql 提示符下运行下列命令,每个命令以分号结束。

显示数据库列表

show databases;

缺省有两个数据库:mysql和 test。 mysql 库存放着 mysql 系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。

显示 tset 库中的数据表

use test;
show tables;
mysql> use test;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_test |
+-----------------------+
| ts_commentmeta |
| ts_comments |
| ts_links |
| ts_options |
| ts_postmeta |
| ts_posts |
| ts_term_relationships |
| ts_term_taxonomy |
| ts_termmeta |
| ts_terms |
| ts_usermeta |
| ts_users |
+-----------------------+
12 rows in set (0.00 sec)

显示数据表结构

语法:describe 表名;

如上面 test 数据库中 ts_links 的数据表结构

describe ts_links;

mysql> describe ts_links;
+------------------+---------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+---------------------+------+-----+---------------------+----------------+
| link_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| link_url | varchar(255) | NO | | | |
| link_name | varchar(255) | NO | | | |
| link_image | varchar(255) | NO | | | |
| link_target | varchar(25) | NO | | | |
| link_description | varchar(255) | NO | | | |
| link_visible | varchar(20) | NO | MUL | Y | |
| link_owner | bigint(20) unsigned | NO | | 1 | |
| link_rating | int(11) | NO | | 0 | |
| link_updated | datetime | NO | | 0000-00-00 00:00:00 | |
| link_rel | varchar(255) | NO | | | |
| link_notes | mediumtext | NO | | NULL | |
| link_rss | varchar(255) | NO | | | |
+------------------+---------------------+------+-----+---------------------+----------------+
13 rows in set (0.00 sec)

建库与删库

create database 库名;
drop database 库名;

数据库建表

use 库名;
create table 表名(字段列表);
drop table 表名;

清空表中记录

delete from 表名;

显示表中记录

select * from 表名;

MySQL 导出和导入数据

导出数据

注意:不要在 mysql 提示符里面运行

mysqldump -opt test > mysql.test

将数据库 test 数据库导出到 mysql.test 文件(文本文件)

mysqldump -uroot -p123456 --databases dbname > mysql.dbname

把数据库 dbname 导出到文件 mysql.dbname。

mysqldump -uroot -p123456 --all-databases > mysql.all

把所有数据库导出到文件 mysql.all。

导入数据

mysqlimport -uroot -p123456 < mysql.dbname

将文本数据导入数据库

文本数据字段数据之间用 tab 分隔。

use test;
load data local infile "文件名" into table 表名;

使用 SHOW 找出服务器上当前存在什么数据库

mysql> SHOW DATABASES;

创建一个数据库 MYSQLDATA

mysql> CREATE DATABASE MYSQLDATA;

选择创建的数据库

mysql> USE MYSQLDATA;

(按回车键出现Database changed 时说明操作成功!)

查看当前数据库中存在什么表

mysql> SHOW TABLES;

创建一个数据库表

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

显示表的结构

mysql> DESCRIBE MYTABLE;

往表中加入记录

mysql> insert into MYTABLE values ("hyq","M");

用文本方式将数据装入数据库表中(例如 D:/mysql.txt)

mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

导入 .sql 文件命令(例如 D:/mysql.sql)

mysql>use database;
mysql>source d:/mysql.sql;

删除表

mysql>drop TABLE MYTABLE;

清空表

mysql>delete from MYTABLE;

更新表中数据

mysql>update MYTABLE set sex="f" where name="hyq";

备份数据库

mysqldump -u root 库名>xxx.data

连接到远程主机 MySQL

假设远程主机 IP 为:110.110.110.110,用户名为 root,密码为 abcd123。则键入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123

(注:u与root可以不用加空格,其它也一样)

退出 MySQL

命令: exit (回车)

原文:Life in USA - VPS上使用ssh mysql命令

声明:除非注明,常阳时光文章均为原创
本文地址:https://cyhour.com/613/
转载时必须以链接形式注明原始出处。
Views: 548 Tags:  ,  ,  ,  , 

Comments:0

发表留言

炒蛋:Vultr 送$25 | 搬瓦工年付$19补货,优惠码 BWH26FXH3HIQ | 推荐VPS信息