最近、プロジェクトに[Cloud Server](https://cloud.tencent.com/product/cvm?from=10680)を申請しましたが、上司から環境の設定を依頼されました。[** MySql ](https://cloud.tencent.com/product/cdb?from=10680)のインストール時に少しピットがあったので、ここで記録しました。私のインストール方法は、インストールパッケージを介してインストールするのではなく、 yum **を使用してインストールすることです。これにより、多くのことを節約できます。具体的なインストールプロセスについて説明します。
1.元のmysqlをアンインストールします |
---|
** mysql データベースは現在 Linux で非常に人気があるため、現在ダウンロードされている主流の Linux システムバージョンは基本的に mysql データベースを統合しているため、使用できます。次のコマンドを使用して、 mysql **データベースがオペレーティングシステムにインストールされているかどうかを確認します。
rpm -qa | grep mysql //このコマンドは、mysqlデータベースがオペレーティングシステムにインストールされているかどうかを確認します
はいの場合、rpm-eコマンドまたはrpm-e--nodepsコマンドを使用してアンインストールします
rpm -e mysql //通常の削除モード
rpm -e --nodeps mysql //強制削除モード、上記のコマンドを使用してそれに依存する他のファイルを削除する場合、このコマンドを使用して強制的に削除できます
削除後、rpm -qa | grep mysqlコマンドを使用して、mysqlが正常にアンインストールされたかどうかを確認できます。 !
2つ目は、yumを介してmysqlをインストールする |
---|
最初は、次のコマンドを使用して直接インストールされていました。
yum install mysql mysql-server mysql-devel
mysqlとmysql-develのインストールは成功しましたが、次のようにmysql-serverのインストールは失敗しました。
[ localhost ~]# yum install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.sina.cn
* extras: mirrors.sina.cn
* updates: mirrors.sina.cn
No package mysql-server available.
Error: Nothing to do
情報を確認すると、CentOS 7バージョンがデフォルトのプログラムリストからMySQLデータベースソフトウェアを削除したことがわかりました。これを解決するには2つの方法があります。代わりに*** [* MariaDB *](http://baike.baidu.com/link?url=aUFFOz6XAaFd1XIA2NYyNSq3mUTHT3wWJhJRkjJ1x20n-NAfnwXHtDnJANjQgrLAVS2cWSPm-BQt_YA8knovqa)*を使用してください。もう一方の方法は、公式Webサイトからです。ダウンロードとインストール
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm //YUMライブラリをダウンロードする
yum localinstall -y mysql57-community-release-el7-7.noarch.rpm //YUMライブラリをインストールする
yum install -y mysql-community-server //データベースをインストールします
systemctl start mysqld.service //データベースサービスを開始します
mysql -uroot -p //デフォルトの空のパスワード
ルートパスワードをリセットした後、mysqlサービスを再起動します。
update mysql.user set authentication_string=password("yourpassword") where user="root" and Host="localhost";
flush privileges;
quit;
systemctl restart mysqld;
この時点で問題がありました:
ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: NO)
my.cnfを変更し、skip-grant-tablesとskip-networkingを追加してください。
vi /etc/my.cnf
[ mysqld]
skip-grant-tables
skip-networking
mysqlを再起動し、上記の手順を繰り返してパスワードを変更します。変更後にmy.cnfによって追加された2行を削除することを忘れないでください。他にご不明な点がございましたら、こちらのブログで詳細をご覧ください:[http://www.cnblogs.com/ivictor/p/5142809.html](http://www.cnblogs.com/ivictor/p/5142809.html)
3つ目は、リモートログインユーザーを追加する |
---|
上記の手順を完了した後、つまりローカルで使用した後、リモートで接続する場合は、特定の構成を行う必要があります。
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'あなたのパスワード' WITH GRANT OPTION;
注意:'%'任意のアドレスを表し、IPも指定できます
ユーザーテーブルを確認し、メモリのアクセス許可を更新します
select host, user from user;
FLUSH PRIVILEGES;
これで、データベースを使用する準備が整いました。将来的には、ファイアウォールまたはエンコード形式を設定できます。
ファイアウォールをオフにする
centos 7:
systemctl stop firewalld.service #やめる
systemctl disable firewalld.service #無効にする
前のバージョン:
service iptables stop #やめる
chkconfig iptables off #無効にする
mysqlのステータスを表示します。
* 現在のmysqlの実行ステータスを表示する
mysql>status
パラメータの説明:
haracter_set_client:クライアントによって要求されたデータの文字セット。
character_set_接続:クライアントから受信して送信したデータの文字セット。
character_set_データベース:デフォルトデータベースの文字セット。デフォルトデータベースがどのように変更されても、それはこの文字セットです。デフォルトデータベースがない場合は、文字を使用します。_set_サーバーによって指定された文字セット。このパラメーターを設定する必要はありません。
character_set_filesystem:オペレーティングシステム上のファイル名をこの文字セット、つまり文字に変換します_set_クライアント変換文字_set_ファイルシステム、デフォルトはバイナリです。
character_set_結果:結果セットの文字セット。
character_set_server:データベースサーバーのデフォルトの文字セット。
character_set_system:この値は常にutf8であり、設定する必要はありません。システムメタデータを格納するための文字セット。
Recommended Posts