虽然PhpMyAdmin等工具非常容易与MySQL / MariaDB数据库交互,但有时必须直接从命令行访问数据库。 本文将触及进入数据库和一些常见任务,但不会在SQL语法,数据库管理或其他高级主题上提供完整的教学。本文的示例适用于CentOS 7和MariaDB,如我们WordPress VPS图像中包含,而是应该在我们的CPANEL VPSS,LAMP堆栈等上工作。前提是您可以使用SSH连接到服务器。
提示表示应该从bash命令行输入的内容,>提示在mysql本身内。
通过命令行完成的常见MySQL任务
登录到MySQL数据库
要登录数据库作为root用户,请使用以下命令:
mysql -u root -p
输入root密码。
重置您的MySQL密码
在CentOS 7上:
systemctl stop mariadb
mysqld_safe --skip-grant-tables --skip-networking &
MySQL -u root
明文使用mysql;更新用户设置密码=密码(”插入扫描号”),其中用户=’root’;其中’插入通道’是真正的密码齐平特权;出口
systemctl stop mariadb
systemctl start mariadb
(基于Systemd的Linux Distrs可能具有类似的命令,具体取决于它们是否运行实际MySQL或MariaDB;其他Init系统将不同)
在下面运行命令并输入密码后,您将以提示呈现,告诉您程序真正运行的程序(MariaDB)和数据库:
mysql -u root -p
MariaDB [(none)]>
列出您的数据库
发出显示数据库; 命令,如下所示,查看所有数据库。 一个例子如下所示:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| MySQL |
| performance_schema |
| tutorials |
+--------------------+
4 rows in set (0.00 sec)
使用”使用”命令的切换数据库:
MariaDB [(none)]> use tutorials;
Database changed
MariaDB [tutorials]>
“show”命令还用于列出数据库中的表:
MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
进行任何更改之前,请务必进行备份
用 mysqldump. 要强烈建议在继续使用本指南之前备份数据库。
mysqldump database name > databasebackup.sql
用您的实际数据库名称和数据库备份替换数据库名称,其中包含要创建和结尾的文件的名称 .sql. 作为保存数据库的文件类型。 这将允许您 使用mysqldump还原MySQL数据库 随时从此备份文件中获取。
我们建议您从未公开访问的目录运行此命令,以便无法从您的帐户下载数据库,而无需登录命令行或ftp。 确保更改您的目录 /根 要么 /家 或文件系统中需要适当凭据的其他位置。
示例:重置WordPress管理员密码
在继续操作之前,请参阅上述说明,了解如何备份数据库。
第一步: 您必须知道WordPress安装正在使用什么数据库,用户名和密码。 这些位于WordPress安装的根目录中的wp-config.php中,名称为DB_NAME,DB_USER和DB_PASSWORD:
// ** MySQL settings ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'appdb' );
/** MySQL database username */
define( 'DB_USER', 'appdb_user' );
/** MySQL database password */
define( 'DB_PASSWORD', '...' );
第二步: 有了这些信息,您可以修改 如何重设WordPress管理员密码 并从命令行执行相同操作:
mysql -u appdb_user -p
Enter password:
Welcome to the MariaDB monitor. Commands end with; or \g
…..
MariaDB [(无)]>
第三步: 切换到appdb数据库:
MariaDB [(none)]> use appdb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
数据库已更改
第四步: 并显示表格:
MariaDB [appdb]> show tables;
+-----------------------+
| Tables_in_appdb |
+-----------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
12 rows in set (0.00 sec)
MariaDB [appdb]>
第五步: 然后,我们可以从WP_Users表中选择User_Login和User_pass,看看我们将更新的行:
MariaDB [appdb]> SELECT user_login,user_pass FROM wp_users;
+--------------+------------------------------------+
| user_login | user_pass |
+--------------+------------------------------------+
| hstwnd_admin | $P$BMCbERthYHPMJK.do2SUcxjAy567jo0 |
+--------------+------------------------------------+
1 row in set (0.00 sec)
第六步: 这使我们可以使用设置新密码
MariaDB [appdb]> UPDATE wp_users SET user_pass=MD5('newpassword') WHERE user_login = 'hstwnd_admin';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
第七步: 我们可以再次使用相同的SELECT看到新的密码哈希
MariaDB [appdb]> SELECT user_login,user_pass FROM wp_users;
+--------------+----------------------------------+
| user_login | user_pass |
+--------------+----------------------------------+
| hstwnd_admin | 5e9d11a14ad1c8dd77e98ef9b53fd1ba |
+--------------+----------------------------------+
1 row in set (0.00 sec)
要离开,我们要”退出”
MariaDB [appdb]> quit
Bye
而已!设置了新的管理员密码。