ホームページ > データベース > mysql チュートリアル > Systemd を介して Mysql5.7.11 をコンパイルする方法

Systemd を介して Mysql5.7.11 をコンパイルする方法

WBOY
リリース: 2023-05-29 18:46:26
転載
1259 人が閲覧しました

Systemd を介して Mysql5.7.11 をコンパイルする方法


MySQL 5.7 の主な機能:

Systemd のネイティブ サポート パフォーマンスの向上: マルチコア CPU、ソリッド-ロックには、より最適化された InnoDB ストレージ エンジンとより堅牢なレプリケーション機能が備わっています。レプリケーションではデータ損失がまったく発生せず、従来の金融顧客は MySQL データベースの使用を選択することもできます。さらに、より優れたオプティマイザーにより、GTID オンラインでのスムーズなアップグレードも可能になります。オプティマイザー コードの再構築の重要性により、このバージョンとその後のバージョンで大幅な改善がもたらされます。オラクル関係者は、MySQL ネイティブ JSON タイプのサポート以前の最大の問題を解決しています。地理情報サービスのサポートが向上しています。 : InnoDB は地理的位置タイプをネイティブにサポートし、GeoJSON と GeoHash 機能をサポートします 新しい sys ライブラリ: これは将来 DBA によって最も頻繁にアクセスされるライブラリになります MySQL 5.7 がデータベース オプションとして OneinStack に追加されました - lnmp インストール ツール内

依存関係パッケージのインストール

yum -y install make gcc-c++ cmake bison-devel ncurses-devel
ログイン後にコピー

mysql ソース パッケージのダウンロード

ソース パッケージには 2 つのバージョンがあります: mysql- 5.7.11.tar.gz にはブースト ライブラリが付属していないため、自分でダウンロードする必要があります。

mysql-boost-5.7.11.tar.gz には boost ライブラリが付属していますので、解凍後ルート ディレクトリにダウンロードすることをお勧めします。 wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz

curl -O http://cdn.mysql .com/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz

tar -zxf mysql-boost-5.7.11.tar.gz

cd mysql-5.7 .11

コンパイル

メイクファイル「

cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/」を生成mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -D EXTRA_CHARSETS=すべて \ -DDEFAULT_CHARSET=utf8 \ [文字セット] -DDEFAULT_COLLATION=utf8_general_ci \ [照合規則が存在する必要があります。存在しないとデータベースの初期化が困難になります] -DDOWNLOAD_BOOST=1 \ [MySQL 5.7.5 以降では Boost ライブラリが必要です] -DWITH_BOOST=/root /mysql-5.7.11/ boost \ -DWITH_SYSTEMD=1 [Systemd のサポート] -DWITH_SYSTEMD=1 を追加すると、systemd を使用して mysql サービスを制御できます。Systemd はデフォルトでは有効になっていません。

Thenmake - j 2 && make install mysql は /usr/local/mysql パスにインストールされ、ゆっくり待ちます...

MySQL の設定

mysql ユーザーとグループを追加します

groupadd mysql
ログイン後にコピー

useradd -g mysql -s /sbin/nologin mysql

/usr/local/mysql 権限を変更します

chown -R mysql:mysql /usr/local/mysql
ログイン後にコピー

mysql PID のデフォルト ディレクトリの作成

mysqld.service では、デフォルトの pid ファイルが /var/run/mysqld/ ディレクトリに割り当てられていますが、このディレクトリは事前に作成されていません。したがって、ディレクトリを手動で作成し、権限を mysql ユーザーに割り当てる必要があります。 mkdir -p /var/run/mysqldchown mysql:mysql /var/run/mysqld

mysql 3 つの実行ファイルのデフォルトの場所

log : /var/log/mysqld.logpid : /var/run/mysqld/mysqld.pidsock : /tmp/mysql.sock
ログイン後にコピー

my.cnf と mysqld.service をコピーします

cp support-files/my-default.cnf /etc/my.cnf
ログイン後にコピー

mysql 5.7 では、デフォルトで mysqld.service (/usr/local/mysql/) ファイルが usr/lib/systemd にインストールされます。 mysql インストール ディレクトリ /system/、mysqld.service を /usr/lib/systemd/system/ ディレクトリ [root@localhost]/usr/local/mysql#cp usr/lib/systemd/system/mysqld.service にコピーします。 /usr /lib/systemd/system

環境変数の追加

— /etc/profile ファイルを編集し、最後に次の 2 行を追加します&mdash ; “

vim /etc/profile

PATH=/usr/local/mysql/bin:$PATH import PATH

source /etc/profile

初期化パスワードレス mysql データベース

bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/ local/mysql/ databin/mysql_ssl_rsa_setup 次の内容が表示され、初期化は成功しました 2016-02-22T03:56:27.254356Z 1 [警告] root@localhost は空のパスワードで作成されています ! –initialize をオフにすることを検討してください。 -insecure オプション。

-–initialize はランダムなパスワード (~/.mysql_secret に保存) を生成しますが、-–initialize-insecure はパスワードを生成しません。MySQL セキュリティ構成でパスワードを設定する場合ウィザード mysql_secure_installation では、mysql パスワード レベルを自由に選択できます。

-–datadir ターゲット ディレクトリにデータ ファイルを置くことはできません。

以前のバージョンの初期化プログラム mysql_install_db は /usr/local/mysql/script にあり、将来削除されます。代わりに Mysqld が使用されます。非推奨の mysql5.7 は /usr/local/mysql に配置されます/bin ディレクトリ。

mysql の開始

systemctl start mysqld.service

systemctl status mysqld.service

MySQL セキュリティ構成ウィザードの実行 mysql_secure_installation Setパスワード 、mysql サービスは

a のパスワードを設定する b) 匿名アカウントを削除する c) root ユーザーのリモート ログインをキャンセルする d) テスト ライブラリを削除してアクセスするe) 認可テーブルを更新します。 変更を有効にします。[root@localhost mysql]# mysql_secure_installation

MySQL サーバーのデプロイメントを保護します。

Connecting to MySQL using a blank password. [使用空密码连接到MySQL]

VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin?[VALIDATE密码插件可以被用来测试密码 并提高安全性。你是否想设置VALIDATE密码插件?]

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy: [有三种级别的密码验证策略:]

LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file [最小长度> = 8 中等长度> = 8,数字,大小写混合和特殊字符 最长长度> = 8,数字,混合大小写,特殊字符和字典文件]

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0 [请输入0 =低,1 =中2 =强:0] Please set the password for root here. [请在这里设置root用户的密码。]

New password: [新密码:]

Re-enter new password: [重新输入新密码:]

Estimated strength of the password: 25 [密码的估计强度:25] Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y [您是否希望继续与提供的密码(按y | Y表示是,因为没有任何其他键):Y?] … Failed! Error: Your password does not satisfy the current policy requirements [ … 失败!错误:您的密码不符合当前的要求]

New password:

Re-enter new password:

Estimated strength of the password: 50 [密码的估计强度:50] Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. [默认情况下,MySQL安装有一个匿名用户, 允许任何人登录到MySQL.]

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y [删除匿名用户?] Success. [成功。]

Normally, root should only be allowed to connect from ‘localhost’. This ensures that someone cannot guess at the root password from the network. [通常情况下,Root 只允许其进行’localhost'(本地) 连接 。]

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n [禁止远程root登录?]

...omitting. [省略]。] By default, MySQL comes with a database named ‘test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. [默认情况下,MySQL带有一个名为“测试”数据库,任何人都可以访问。这也是仅用于测试,并且应该移动到生产之前被删除环境。]

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n [删除测试数据库和访问权限?]

... omitting. [ ...省略。] Reloading the privilege tables will ensure that all changes made so far will take effect immediately. [刷新授权表以确保所有的变化取得将立即生效。]

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : [现在刷新授权表?]

… skipping. All done! [全部完成!]

开放 Root 远程连接权限

mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; [password 为远程连接密码]
mysql>FLUSH PRIVILEGES; [刷新权限]
ログイン後にコピー

以上がSystemd を介して Mysql5.7.11 をコンパイルする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート