리눅스 및 기본 작동에 MySQL 설치하기

보다 풍부하고 강력한 웹 애플리케이션을 제공하기 위해, 종종 백 엔드 데이터베이스 지원, 웹 프로그래밍과 다른 역할이 필요합니다.
높은 성능 일반적으로 중소 규모의 기업, 가장 일반적으로 사용되는 데이터베이스는 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의 패키지가 설치 될 수있는 아직 행방 불명, 그것은 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 사용자를 실행하는 초기화 스크립트 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 

리눅스 및 기본 작동에 MySQL 설치하기
변경 후 저장하고 종료합니다. 다음 명령을 실행 계속 :

[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)

보기 데이터베이스 테이블 :

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 문을 사용하여
리눅스 및 기본 작동에 MySQL 설치하기
리눅스 및 기본 작동에 MySQL 설치하기
보기 권한 :

show    grants    for  用户名@来源地址;
show    grants    for  'zhangsan'@'localhost';

권한을 취소 :

revoke    权限列表    on   数据库名.表名    from   用户名@来源地址
revoke    all    on   test.user    from   'zhangsan'@'localhost';

추천

출처blog.51cto.com/14227204/2425596