より豊かな、より強力なWebアプリケーションを提供するために、多くの場合も、バックエンドのデータベースのサポート、Webプログラミングやその他の役割を持っている必要があります。
その高い性能を備えた一般的な中小企業は、最も一般的に使用されるデータベースは、MySQLで、MySQLは真のマルチスレッド、マルチユーザーSQLデータベースサービスがあり、高い信頼性と使用機能の容易さは、最も人気のあるオープンソースのサーバ・フィールドになっていますデータベースシステム。
MySQLのソースコードのコンパイラ・パッケージ(MySQLの-5.6.tar.gz):
https://pan.baidu.com/s/1pgYHB8kyJ7U1zl2cm4XUcw
抽出コード:y8py
最も広く使用されているのMySQLの5.Xシリーズバージョンを、このバージョンの安定性、互換性がありますはい
、その公式サイトがある:http://www.mysql.com
準備:
ポートの競合を避けるために、競合現象プログラム、それがインストールされているMySQLのRPMパッケージを使用していないことを確認し、MySQLのインストールを表示することが推奨され[root@mysql /]# rpm -qa | grep mysql
、もしあれば、 、アンロードすることが示唆:RPM -qのMySQLのMySQL-Serverは
、次にインストールする必要があるのncursesパッケージが既に検出された3つ、依然として行方不明にインストールされている、インストールするために、CD-ROMシステムをマウントする必要があります
[root@mysql /]# rpm -qa | grep ncurses
ncurses-5.9-13.20130511.el7.x86_64
ncurses-libs-5.9-13.20130511.el7.x86_64
ncurses-base-5.9-13.20130511.el7.noarch
[root@mysql /] # mount /dev/sr0 /media/
[root@mysql Packages]# rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
warning: ncurses-devel-5.9-13.20130511.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:ncurses-devel-5.9-13.20130511.el7################################# [100%]
MySQLの5.Xシリーズのバージョンは、コンパイルしてインストールするcmakeのが必要なので、あなたは、パッケージcmakeのをインストールする必要があります。
[root@mysql media]# tar zxf cmake-2.8.6.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/cmake-2.8.6/
[root@mysql cmake-2.8.6]# ./configure
[root@mysql cmake-2.8.6]# gmake && gmake install # 过程会很长
ソースコードはコンパイルしてインストールするには:
ユーザーの実行を作成します。
[root@mysql /]# groupadd mysql
[root@mysql /]# useradd -M -s /sbin/nologin mysql -g mysql # -M 不创建宿主目录 -s 指定shell环境 -g 指定加入组
開梱:
mysqlはソースパッケージを解凍ダウンロードします。
[root@mysql media]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/mysql-5.6.36/
構成:
企業ウェブサイトの豊富な、巨大な構造は、ウェブサイトはまた、別の文字セットエンコーディングをサポートする必要があり、対応するデータベース・システムで、文字セットのさまざまなを使用する場合があります。設定プロセスでは、デフォルトの文字セットを使用することができ、UTF-8である、と文字セットのサポートを追加します。
注注注:終了コマンドは、患者とチェックでなければなりませんした後、次のコマンド入力は大文字と小文字が区別され、句読点が間違っていることができない、間違っている、あなたは、最初からやり直す必要はあり
[root@mysql mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DSYSCONFDIR=/etc
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci # 每个“-”前都有空格
-DWITH_EXTRA_CHARSETS=all
各选项含义:
--DCMAKE_INSTALL_PREFIX:指定将 MySQL 数据库程序安装到某目录下
--DSYSCONFDIR:指定初始化参数文件目录
--DDEFAULT_CHARSET:指定默认使用的字符集编码
--DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于 utf-8 字符集的通用规则
--DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码
[root@mysql mysql-5.6.36]# make && make install #编译并安装 过程会很漫长
インストール後にその他の調整:
ディレクトリデータベースの権限設定:[root@mysql ~]# chown -R mysql:mysql /usr/local/mysql
プロファイリング:
CentOSに7 MariaDBのデータベースシステムでは、デフォルトでサポートされているので、システムのデフォルトの設定ファイルは、MariaDBな/etc/my.cnfプロファイルです。ソースパッケージファイルディレクトリのフォルダ内のサポート・ファイルは、デフォルトのMySQLデータベースは、サンプルの構成は、私の-default.cnfファイルをファイル提供、元のファイルを起動する前に、MySQLのmy.cnfの提供の構成ファイルを交換する必要がありますコンテンツ。
[root@mysql ~]# rm -rf /etc/my.cnf # 将原来 etc 文件夹下的 my.cnf 文件删除
[root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf
:データベースを初期化し
、そのデータ格納ディレクトリを指定して、mysqlユーザーを実行するためのinitスクリプトmysql_install_dbの実行
[root@mysql ~]# /usr/local/mysql/scripts/mysql_install_db
--user=mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
環境変数の設定(任意のディレクトリに使用mysqlコマンドを容易にするためには、/ etc /プロファイルは、環境変数を設定する必要があります):
[root@mysql ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@mysql ~]# . /etc/profile // 立即生效
システムサービスとして追加します。
[root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/mysql.server
/usr/local/mysql/bin/mysqld.sh # 将服务脚本复制到 MySQL安装目录中
[root@mysql ~]# chmod +x /usr/local/mysql/bin/mysqld.sh # 添加执行权限
[root@mysql /]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql # 指定程序运行的用户账号
Group=mysql # 指定程序运行的组账号
Type=forking
PIDFile=/usr/local/mysql/data/mysql.com.pid # 注意pid前要输主机名,输入之前先查看一下本机主机名
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop
[Install]
WantedBy=multi-user.target
[root@mysql /]# systemctl enable mysqld # 设置开机自启
[root@mysql /]# systemctl status mysqld # 检查服务启动状态
[root@mysql /]# systemctl start mysqld # 启动服务
コンフィギュレーション・ファイルを書き込むためにあまりにも面倒な場合は、別の方法を変更することができます。
/usr/local/mysql/bin/mysqld.shの実行が許可を与えた場合、以下の手順に従ってください
[[email protected]]# cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld
[[email protected]]# vim /etc/init.d/mysqld
変更後、保存して終了。次のコマンドを実行し続けます。
[root@localhost mysql-5.6.36]# chkconfig --add mysqld #添加为系统服务
サービス着陸データベースを起動した後:
ルートは、デフォルトのMySQL管理者であります
[root@mysql /]# mysql -u root # 无密码的时候登陆
[root@mysql /]# mysqladmin -u root password 123456 # 第一次设置密码
[root@mysql /]# mysqladmin -u root -p password 654321 # 修改密码,先输入新密码
Enter password: # 根据提示输入旧密码
[root@mysql /]# mysql -u root -p # 使用密码登陆
Enter password: # 根据提示输入密码
[root@mysql /]# mysql -u root -p
…… // 省略部分内容
mysql> status # 查看当前数据库的基本信息
mysql> exit # 退出 MySQL操作环境 ouit 也行
Bye
でMySQLデータベースをチェックアウト:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.03 sec)
Viewデータベーステーブルに:
mysql> use mysql;
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| time_zone_name |
…… // 省略部分内容
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
28 rows in set (0.00 sec)
テーブル構造を表示します。
mysql> describe user;
+----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+-------+
| name | char(16) | YES | | NULL | |
| xingbie | char(10) | YES | | NULL | |
| nianling | int(11) | YES | | NULL | |
+----------+----------+------+-----+---------+-------+
3 rows in set (0.01 sec)
新しいデータベースを作成します。mysql> create database users;
新しいテーブルを作成します。
mysql> use users;
mysql> create table user (name char(16),xingbie char(10),nianling int);
データテーブルを削除するには:
mysql> drop table user;
Query OK, 0 rows affected (0.01 sec)
データベースを削除するには:
mysql> drop database users;
Query OK, 0 rows affected (0.00 sec)
管理テーブルを記録するデータ:
データレコードを挿入します:
insert into 表名(字段一,字段二,...) values(字段一的值,字段二的值,....)
mysql> insert into user (name,xingbie,nianling) values('zhangsan','nan','25');
クエリデータレコード:
mysql> select * from user;
+----------+---------+----------+
| name | xingbie | nianling |
+----------+---------+----------+
| zhangsan | nan | 25 |
+----------+---------+----------+
1 row in set (0.00 sec)
レコードを編集します。
update 表名 set 字段名=‘修改的字段值’ where 条件表达式
mysql> update user set nianling='20' where name='zhangsan';
データレコードを削除します:
delete from 表名 where 条件表达式;
mysql> delete from user where name='zhangsan';
データベースのユーザー認証:
権限を与え
grant 权限列表 on 库名.表名 to 用户@来源地址 identified by ‘密码’;
mysql> grant select on users.user to zhangsan@localhost identified by '123456';
次のことを注意することはGRANTステートメントを使用します。
表示権限:
show grants for 用户名@来源地址;
show grants for 'zhangsan'@'localhost';
権限を取り消します:
revoke 权限列表 on 数据库名.表名 from 用户名@来源地址
revoke all on test.user from 'zhangsan'@'localhost';