麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
932
2023-04-09
MySQL 的第一步
在本章中,我们将使用 MySQL 迈出第一步。 我们将启动服务器,使用客户端工具连接到服务器,创建新用户并发布第一个 SQL 语句。
启动/停止 MySQL 服务器
MySQL 服务器是在后台运行的守护程序。 启动 MySQL 的方式取决于您的系统和完成的安装类型。
$ sudo /etc/init.d/mysqld start$ sudo /etc/init.d/mysqld stop
在基于传统 init 的系统上,我们将使用上述命令来启动和停止 MySQL 服务器。
$ sudo service mysql start$ sudo service mysql stop
Debian 已迁移到 Upstart,这是一个基于事件的守护程序,用于启动任务和服务并进行监督。 在使用 Upstart 的系统上,我们将使用上述命令启动和停止 MySQL 服务器。
$ sudo /usr/local/mysql/support-files/mysql.server start$ sudo /usr/local/mysql/support-files/mysql.server stop
如果从源代码安装了 MySQL,则可以使用mysql.server命令启动和停止 MySQL。
检查 MySQL 状态
我们将展示如何检查 MySQL 服务器的状态。
$ service mysql status● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Pi 2017-01-27 16:32:12 CET; 2h 7min ago Main PID: 9439 (mysqld) CGroup: /system.slice/mysql.service └─9439 /usr/sbin/mysqldjan 27 16:32:10 t400 systemd[1]: Starting MySQL Community Server...jan 27 16:32:12 t400 systemd[1]: Started MySQL Community Server.jan 27 16:32:26 t400 systemd[1]: Started MySQL Community Server.
我们使用service mysql status命令检查状态。
$ mysqladmin -u root -p pingEnter password: mysqld is alive
我们使用mysqladmin工具检查 MySQL 服务器是否正在运行。 -u选项指定对服务器执行 ping 操作的用户。 -p选项是用户的密码。 如果省略密码,则mysqladmin提示输入一个。 在提示符后键入的字符不可见。 这是用于mysqladmin的更安全的解决方案。 这样,任何人都不会看到您键入的密码,并且该密码不会存储在外壳程序的历史记录中。
mysqladmin 工具
mysqladmin是用于执行管理操作的客户端。
$ mysqladmin -uroot -p shutdown
我们使用mysqladmin工具关闭 MySQL 服务器。
$ mysqladmin -u root -p versionEnter password: ...Server version 5.7.17-0ubuntu0.16.04.1Protocol version 10Connection Localhost via UNIX socketUNIX socket /var/run/mysqld/mysqld.sockUptime: 45 sec...
我们使用mysqladmin检查 MySQL 服务器的版本。
$ mysqladmin -u root -p create testdb
可以使用mysqladmin创建数据库。
$ mysqladmin -u root -p drop testdb
此命令删除数据库。
$ mysqladmin -u root -p password Enter password: New password: Confirm new password:
我们可以使用mysqladmin更改用户密码。 我们输入旧密码,然后输入两次新密码。
mysql 工具
mysql是 MySQL 命令行工具。 这是一个简单的外壳。 它支持交互和非交互使用。
我们使用mysql工具连接到服务器。 请注意,我们在-p选项之后省略了密码。 我们在“输入密码” 提示符后键入密码。
mysql命令行工具以mysql>作为提示符。 在此提示下,我们可以发出mysql内置命令和 SQL 语句。 我们需要熟悉mysql工具。 Ctrl + L清除屏幕,Ctrl + D或quit命令退出mysql。 我们需要区分mysql命令和 SQL 语句。 SQL 语句以分号终止。
键入 help 以获得mysql命令的完整列表。
mysql> system pwd/home/janbodnar
system命令可以执行 Shell 命令。 我们已经启动了pwd命令来查找当前的工作目录。
mysql> quitBye
quit命令终止mysql Shell。
$ mysql --versionmysql Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper
mysql也可以非交互方式使用。 在这里,我们获得了该工具的版本。
建立数据库
现在,我们将创建数据库。
mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0,00 sec)
SHOW DATABASES语句显示我们系统上的所有可用数据库。 请注意,SQL 语句以分号终止。 存在四个数据库。 information_schema,mysql和performance_schema是 MySQL 系统数据库。 sys是用于调整和诊断用例的一组架构对象。 尚无用户定义的数据库。
mysql> CREATE DATABASE mydb;Query OK, 1 row affected (0,00 sec)
该语句创建一个新的数据库。 在整个教程中,我们将使用mydb数据库。 要创建新数据库,我们需要具有某些特权。 请记住,我们已经以 root 用户(超级用户并具有所有特权)连接到服务器。
mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || mydb || mysql || performance_schema || sys |+--------------------+5 rows in set (0,00 sec)
显示所有数据库,其中有mydb数据库。
mysql> USE mydb;Database changed
为了使用数据库,我们必须首先选择它。 我们使用USE命令选择一个特定的数据库。
mysql> SHOW TABLES;Empty set (0.00 sec)
SHOW TABLES语句显示数据库中所有可用的表。 由于它是新创建的数据库,因此找不到表。
mysql> source cars.sqlDatabase changedQuery OK, 0 rows affected (0.20 sec)Query OK, 1 row affected (0.08 sec)...
在第一章中,我们提供了一些 SQL 脚本来创建一些表。 我们使用 source 命令执行cars.sql脚本,该脚本为我们创建了Cars表。
mysql> SHOW TABLES;+----------------+| Tables_in_mydb |+----------------+| Cars |+----------------+1 row in set (0,00 sec)
现在SHOW TABLES语句显示一个可用表。
mysql> SELECT * FROM Cars;+----+------------+--------+| Id | Name | Cost |+----+------------+--------+| 1 | Audi | 52642 || 2 | Mercedes | 57127 || 3 | Skoda | 9000 || 4 | Volvo | 29000 || 5 | Bentley | 350000 || 6 | Citroen | 21000 || 7 | Hummer | 41400 || 8 | Volkswagen | 21600 |+----+------------+--------+8 rows in set (0,00 sec)
这就是表中的数据。
创建一个新用户
与 Unix 根帐户类似,建议不要在日常工作中使用 MySQL 超级用户根帐户。 我们仅在必要时才使用 root 帐户。 我们创建一个将要使用的新帐户。 该用户将具有有限的权限。 使用 root 用户时,我们可能会意外地对我们的数据造成很多损害。
mysql> CREATE USER user12@localhost IDENTIFIED BY '34klq*';
上面的命令创建一个名为user12的新用户。 帐户具有密码34klq*。 用户已创建,但没有特权。
mysql> GRANT ALL ON mydb.* TO user12@localhost;
该语句为mydb数据库上的所有数据库对象授予user12所有特权。 这些特权足以满足本教程中的示例要求。
mysql> quitBye$ mysql -u user12 -p
现在,我们可以使用新的用户帐户连接到 MySQL。
$ mysql -u user12 -p mydb -e "SELECT * FROM Cars"Enter password: +----+------------+--------+| Id | Name | Cost |+----+------------+--------+| 1 | Audi | 52642 || 2 | Mercedes | 57127 || 3 | Skoda | 9000 || 4 | Volvo | 29000 || 5 | Bentley | 350000 || 6 | Citroen | 21000 || 7 | Hummer | 41400 || 8 | Volkswagen | 21600 |+----+------------+--------+
我们非交互地连接到mydb数据库并执行一条 SQL 语句。 在-e选项之后指定要执行的语句。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。