mysqlの実行ファイルとは何ですか
mysql の実行ファイルは mysqld です。mysqld は、Mysql サーバー プログラムを表す実行可能ファイルです。このファイルを実行すると、サーバー プロセスを直接開始できます。mysqld_safe は、mysqld を間接的に呼び出す起動スクリプトです。監視プロセスも同時に開始されます。
このチュートリアルの動作環境: Windows 10 システム、mysql8 バージョン、Dell G3 コンピューター。
mysql の実行ファイルは何ですか?
Mysql 起動オプションと設定ファイル
Mysql 起動方法
次の起動コマンドはすべて、Linux 環境で設定された Mysql 環境変数に依存する必要があります
vi /etc/profile
Mysql のインストール パスをファイルの最後に追加します (デモでは、mysql は /usr/local/mysql-5.7.26 に構成されています)。このパスは独自の環境に基づく必要があります。依存します)
export PATH=/usr/local/mysql-5.7.26/bin/:$PATH
ファイルを更新した後に構成ファイルを更新します。すぐには有効になりませんsource /etc/profile
mysqld
Mysqld は Mysql サーバー プログラムを表す実行可能ファイルです。このファイルを実行すると直接起動できます。サーバープロセス。
以下の方法で root 以外のユーザーでも起動できる場合は、起動時に読み込む設定ファイルを指定します。
mysqld --defaults-file=/etc/my.cnf &
root ユーザーは起動パラメータを追加する必要があります (mysql ではセキュリティの問題により root ユーザーが直接起動することは許可されていないため、mysql の使用を強制するには起動パラメータを追加する必要があります) root アカウントで開始します)。
mysqld --defaults-file=/etc/my.cnf --user=root &
mysqld_safe
mysqld_safe は、mysqld を間接的に呼び出し、監視プロセスも開始する起動スクリプトです。この監視プロセスは、サーバーがハングしたときに使用されます。さらに、このスクリプトは、サーバー プログラムのエラー情報と診断情報をファイルにリダイレクトして、エラー ログを記録します。
デフォルトの設定ファイルを指定する必要はありません。コマンドは次のとおりです
mysqld_safe --defaults-file=/etc/my.cnf &
mysqld_multi
mysqld_multi は複数の mysql データベース インスタンスを起動できます、ここでは説明しません。
mysql.server
実際には、mysq のインストール ディレクトリに support-files というフォルダがあります。具体的なディレクトリは /usr/local/mysql- です。 5.7 .26/support-files
, 内部の mysql.server も起動スクリプトです。このスクリプトは間接的に mysqld_safe スクリプトを呼び出します。実行コマンドは次のとおりです。
### 路径依照自己的mysql安装路径来 cd /usr/local/mysql-5.7.26/support-files ./mysql.server start|stop
このパスを指定した場合 ソフトリンク
#ln -s /usr/local/mysql-5.7.26/support-files/mysql.server /etc/init.d/mysql
service mysql stop/start
- -h
オプションが指定されていません。
ドメイン名を localhost ( - -hlocalhost
) として指定するには、
-hを指定します。
クライアント起動パラメータは - --protocol=socket
を指定します。
-h に続いて IP アドレスを指定した場合、それが 127.0.0.1 であっても、TCP/IP 接続を使用することを意味し、これはクライアント サーバー側で TCP/IP 通信の使用が禁止されている場合はどうすればよいですか?
--user=root
mysqld --user=root --skip-networking &
クライアント操作
### 采用unix域套接字文件通信 正常 [root@test ~]# mysql -uroot -p [root@test ~]# mysql -hlocalhsot -uroot -p ### 采用TCP/IP连接,直接拒绝 [root@test ~]# mysql -h127.0.0.1 -uroot -p mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
### 非root用户去除--user=root选项 mysqld --user=root --default-storage-engine=MyISAM
顧客側の操作
mysql> use test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> CREATE TABLE test( -> id INT -> ); Query OK, 0 rows affected (0.00 sec) mysql> show create table test; +-------+----------------------------------------------------------------------------------------+ | Table | Create Table | +-------+----------------------------------------------------------------------------------------+ | test | CREATE TABLE `test` ( `id` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------------------------+
创建后的数据库操作引擎变为MyISAM,配置生效。
综上Mysql如果存在多个启动指令可以采用**--启动选项1=值1 --启动选项2=值2 ... --启动选项n=值n**,配置修改启动项。
Mysql启动指令众多,其它指令可以通过命令**mysqld --verbose --help
**查看。
选项的长形式和短形式
在myql中其实一直有区分长形式命令和短形式命令,但是我们在使用时并没有注意;
需要注意的是长连接前面是两个横杠--
,短连接只有一个-
,另外长连接指令和值之前需要有空格,短连接可以紧挨着不需要空格。
### 长连接形式 mysql --host 127.0.0.1 --user root --port 3306 --password ### 短连接形式 mysql -h127.0.0.1 -uroot -P3306 -p
Mysql启动配置文件
采用Mysql启动方式选项虽然是方便,但也带来的一些问题,如果启动选项参数过多导致启动命令毫无可读性而言,启动选项配置的参数只对当前启动的服务生效,也就是如果下次重启所有的启动参数将被还原不会被记录,所以为了将这些启动参数保存,我们就需要一个配置文件默认称为my.cnf。
my.cnf配置文件按照启动的是客户端程序还是服务端程序将配置分为了多个组,如下所示
#### 服务端启动配置 [server] ### 格式一:配置项=具体值 port=3306 ### 格式二:配置项(没有值的情况,配置项为禁止客户端采用TCP/IP连接) skip-networking [mysqld] [mysqld_safe] #### 客户端启动配置 [client] [mysql] [mysqladmin] ### 所有配置组的格式同上
mysqladmin:是一个执行管理操作的客户端程序,它可以检查服务器的配置和当前服务的状态,创建和删除数据库等。
[root@test ~]# mysqladmin -uroot -p processlist
Enter password:
+----+------+-----------+------+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+----------+------------------+
| 33 | root | localhost | test | Sleep | 5 | | |
| 35 | root | localhost | | Query | 0 | starting | show processlist |
+----+------+-----------+------+---------+------+----------+------------------+
[root@test ~]# mysqladmin -uroot -p status
Enter password:
Uptime: 13335 Threads: 2 Questions: 66 Slow queries: 0 Opens: 121 Flush tables: 3 Open tables: 5 Queries per second avg: 0.004
### 打印系统变量
[root@test ~]# mysqladmin -uroot -p variable
服务端和客户端不同命令启动会读取不同的配置组;
如果多个配置组存在相同的配置如下所示
[mysqld] port = 3306 ###.....省略其它配置 [server] port=3333 [mysqld_safe] port=5555
会根据书写顺序读取,也就是说后面的配置会覆盖前面的配置
- 如果服务端采用mysqld启动服务端那么port的最终结果为port=3333(只会读取[mysqld]和[server]配置组)
- 如果服务端采用mysqld_safe启动服务端那么port的最终结果为port=5555(只会读取[mysqld],[mysqld_safe]和[server]配置组)
My.cnf文件读取优先级
在启动Mysql服务时如果没有指定配置文件的具体路径,那么Mysql服务会到如下几个目录搜索,可以通过命令mysql --help
查看,部分说明如下
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
读取文件的顺序为
- /etc/my.cnf
- /etc/mysql/my.cnf
- /usr/local/mysql/etc/my.cnf
- ~/.my.cnf(注意:这里的文件名为.my.cnf和其它路径是有区别的,并且文件名前面有一个点那么Linux服务器会将这个文件隐藏,也就是使用ll命令查询不到此文件,只有使用ll -a才能获取,另外这个文件是在登录用户的家目录!!!)。
这四个文件会按照顺序读取,也就是说如果在/etc/my.cnf文件下配置了port=3006,在~/.my.cnf下面配置了port=3307那么最终读取的结果是port为3307。
当然这是Mysql读取默认配置的情况,我们可以自己指定配置文件路径,如下所示
#### --defaults-file后面接任意路径文件,非root用户不需要--user=root mysqld --defaults-file=/usr/local/mysql/etc/my.cnf.copy --user=root
推荐学习:《MySQL视频教程》
以上がmysqlの実行ファイルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLでテーブルをコピーするには、新しいテーブルの作成、データの挿入、外部キーの設定、インデックスのコピー、トリガー、ストアドプロシージャ、および機能が必要です。特定の手順には、同じ構造を持つ新しいテーブルの作成が含まれます。元のテーブルからデータを新しいテーブルに挿入します。同じ外部キーの制約を設定します(元のテーブルに1つがある場合)。同じインデックスを作成します。同じトリガーを作成します(元のテーブルに1つがある場合)。同じストアドプロシージャまたは関数を作成します(元のテーブルが使用されている場合)。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。

次のコマンドでmysqlデータベースを表示します。サーバーに接続します:mysql -u username -pパスワードrun showデータベース。すべての既存のデータベースを取得するコマンド[データベース]を選択します。データベース名を使用します。テーブルを表示:表を表示します。テーブル構造を表示:テーブル名を説明してください。データを表示:[テーブル名]から[ *]を選択します。

MySQLのコピーと貼り付けには、次の手順が含まれています。データを選択し、Ctrl C(Windows)またはCMD C(MAC)でコピーします。ターゲットの場所を右クリックして、貼り付けまたはCTRL V(Windows)またはCMD V(MAC)を使用します。コピーされたデータは、ターゲットの場所に挿入されるか、既存のデータを置き換えます(データが既にターゲットの場所に存在するかどうかに応じて)。

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。
