1. MySQL がインストールされているかどうかを確認する
現在のシステムに mysql がインストールされているかどうかを確認します
インストールコマンドを実行する前に、最初にクエリコマンドを実行します
1.CentOS6
rpm -qa|grep mysql
以下のように mysql-libs の古いバージョンのパッケージがある場合:
最初にアンインストール コマンドを実行してください:rpm -e --nodeps mysql-libs
2.CentOS7
最初にクエリを実行します。rpm -qa|grep mariadb
mariadb が存在する場合は削除します。rpm -e --nodeps mariadb-libs
2.MySQL をインストールする
1. 圧縮パッケージをサーバーに送信する
ここでは mysql-5.7.16 を使用しています。他のバージョンが必要な場合は、自分でダウンロードできます
。mysql-5.7.16 の圧縮パッケージは次のとおりです。
リンク: https: //pan.baidu.com/s/1zNmv-0Io2BQmp0e3go72Gg
抽出コード:wjud
2.ファイルを解凍します
tar -zxv mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar.gz
3. インストール(順番に実行)
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
インストールされているバージョンを確認します。mysqladmin --version
mysql ユーザーを表示します。id mysql
4.MySQL サービスの初期化
次のコマンドを実行して初期化します。
mysqld --initialize --user=mysql
mysql システム ユーザーを使用して、ルート ユーザーのパスワードをセーフ モードで生成し、パスワードを期限切れとしてマークします。ログイン後、新しいパスワードを設定する必要があります。
パスワードを表示:cat /var/log/mysqld.log
5.初期化パスワードを変更する
MySQL を変更するには、最初に MySQL サービスを開始する必要があります。パスワードは、初期パスワードでログインした後にのみ変更できます。
MySQL サービスを開始します。systemctl start mysqld.service
MySQL サービスを閉じます。systemctl stop mysqld.service
パスワードを変更する:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
6.MySQL 自動起動
mysql が自動起動するかどうかを確認します (デフォルトの自動起動)
systemctl list-unit-files|grep mysqld.service
有効になっていない場合は、次のコマンドを実行して自動起動を設定できます
systemctl enable mysqld.service
7. 文字セットの問題を修正する
mysql の使用をテストします。
エンコーディングの問題があります。理由は、mysql エンコーディング ( show variables like '%character%';
) をチェックし、デフォルトのエンコーディングが latin1 であることを確認することです。
エンコーディングを変更するには、mysql 構成ファイルを変更する必要があります。vi /etc/my.cnf
mysqld の下にエンコード構成の行を追加します。character_set_server=utf8
保存して終了し、mysql サービスを再起動します。systemctl restart mysqld
生成されたライブラリ テーブルの文字セットはどのように変化しますか?
データベースの文字セットを変更します。alter database mydb character set 'utf8';
データ テーブルの文字セットを変更します。alter table mytbl convert to character set 'utf8';
8. MySQL へのリモート アクセス
次に、ホスト navicat クライアントを使用して MySQL サービスにアクセスし、次のエラーを報告します: (ファイアウォールがオフになっていることを確認してください)
理由: デフォルトでは、mysql はリモート接続を許可しません。localhost 接続のみを許可する
埋め込む:select host,user,authentication_string,select_priv,insert_priv from mysql.user;
解決:
- 新しいユーザーを作成します (ここでは省略)
- root ユーザーのアクセス権を変更する
9. root リモート アクセスを許可する
認可コマンド:
権限 1、権限 2、... 権限 n をデータベース名.テーブル名に対して、「接続パスワード」で識別されるユーザー名@ユーザー アドレスに付与します。
ユーザーにそのような権限がないことが判明した場合は、新しいユーザーが直接作成されます。
例えば
grant all privileges on *.* to root@'%' identified by 'root'; #授予通过网络方式登录的的root用户,对所有库所有表的全部权限,密码设为root.
拡大:
現在のユーザー権限を表示:show grants;
現在のユーザーのグローバル権限を表示します。select * from user ;
ユーザーのテーブルの権限を表示します。select * from tables_priv;
権限を取り消すコマンド:
ユーザー名@ユーザーアドレスからデータベース名.テーブル名に対する権限1、権限2、...権限nを取り消します。
データベースとテーブル全体のすべての権限を取り消すには:REVOKE ALL PRIVILEGES ON mysql.* FROM li4@localhost;
mysql ライブラリの下にあるすべてのテーブルを挿入、削除、変更、およびクエリする権限を取り戻します。REVOKE select,insert,update,delete ON mysql.* FROM li4@localhost;
有効にするには、ユーザーは再度ログインする必要があります
10. テスト接続
接続テスト: