Posts

Showing posts with the label MySql

MySql ユーザー権限設定

2.MySQLのユーザー権限設定が変更されていない 次も初歩的な問題ですが、知らないとわかりません。これを解決するのに私は何時間も迷いました…。ユーザー権限の問題です。データベースのデータに関してアクセス制限できるのは知っていましたが、ログインに関しても細かく指定できるとは知りませんでした。 初期設定では、rootはローカルホストからしか接続できないようになっています。つまり、ほかのマシンからrootでログインしようと思っても、接続できないようにブロックされます。まぁ、最初から必ずあるrootには初期段階でパスワードが設定されていないわけですから、これくらの制限はないと、とんでもないことになりそうですが。 この際、同じネットワークからならリモートで何でもできる新しいスーパーユーザーを登録してみましょう。ただしこれには多少の危険が伴います。もし悪意ある人が接続できてしまった場合、MySQL内のデータを盗み放題、破壊し放題なわけです。一応同じネットワーク内に限定するので、そう簡単にインターネットからアクセスされていたずらされるということはないと思いますが。また、ここではわかりやすいように、ユーザー名を[admin]パスワードを[pass]としますが、実際にやる場合は、特に運用前には、念のため、ユーザー名とパスワードはできるだけ推測しにくい ものにしてください。 ではさっそく新しいユーザーを登録してみましょう。adminというユーザーをpassというパスワードで、同じローカルネットワークからしかつながらないが、何でもできる、という条件で登録します。もう一つ条件として、MySQLサーバーのローカルネットワークのIPアドレスが、192.168.0.なんとか…としましょう。つまり、このローカルネットワークのアドレスの範囲が192.168.0.1~192.168.0.254で、この間にあるIPからしかアクセスできなくする、という設定です。MySQLにrootでログインし、次のように打ち込んでみてください。 grant all on *.* to admin@"192.168.0.%" identified by 'pass' with grant option; すこしだけgrantコマンドを説明します。 gran...

MySQL

http://umatomakun.hatenablog.com/entry/2014/04/25/223240 Install in Terminal Version Check    $ sudo apt-get update    $ apt-cache show mysql-server | grep Version Install    $ sudo apt-get install mysql-server    $ mysql --version Configuration    $ cd /etc/mysql    $ cp my.cnf my.cnf.org Character Code Setup    $ sudo vi my.cnf Add Below Section [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake character-set-server  = utf8 collation-server      = utf8_general_ci init-connect          = SET NAMES utf8 Restart MySQL    $ sudo service mysql restart Login to MySQL    $ mysql -u root -p Check Status of MySQL    mysql> status Start, Stop and Re-start,    $ sudo service mysql start    $ sudo service mysql stop    $ sudo service mysql r...