Systemd를 통해 Mysql5.7.11을 컴파일하는 방법
MySQL 5.7의 주요 기능:
Systemd에 대한 기본 지원 더 나은 성능: 멀티 코어 CPU, 솔리드 스테이트 드라이브, 잠금에 대한 더 나은 최적화 더 나은 InnoDB 스토리지 엔진 더 강력한 복제 기능: 복제 솔루션 제공 데이터 손실이 전혀 없으며 기존 금융 고객도 MySQL 데이터베이스를 사용하도록 선택할 수 있습니다. 또한 더 나은 최적화 프로그램을 사용하면 GTID 온라인의 원활한 업그레이드도 가능합니다. 최적화 프로그램 코드 재구성의 중요성은 이 버전과 후속 버전에서 큰 개선을 가져올 것이며 Oracle 관계자는 MySQL 기본 JSON 유형 이전의 가장 큰 문제를 해결하고 있습니다. 더 나은 지리 정보 서비스 지원을 지원합니다. : InnoDB는 기본적으로 지리적 위치 유형을 지원하고 GeoJSON 및 GeoHash 기능을 지원합니다. 새로운 sys 라이브러리: 이는 향후 DBA가 가장 자주 액세스하는 라이브러리가 될 것입니다. MySQL 5.7이 설치 도구에서 데이터베이스 옵션으로 OneinStack에 추가되었습니다.
종속성 패키지 설치
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
mysql 소스 코드 패키지 다운로드
소스 코드 패키지에는 두 가지 버전이 있습니다. mysql-5.7.11.tar.gz에는 부스트 라이브러리가 없으므로 다음 버전이 필요합니다. 직접 다운로드했습니다.
mysql-boost-5.7.11.tar.gz는 Boost 라이브러리와 함께 제공됩니다. 압축을 푼 루트 디렉터리에 다운로드하는 것이 좋습니다. wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz
curl -O http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz
tar -zxf mysql-boost-5.7.11.tar.gz
cd mysql-5.7.11
编译
生成makefile“
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 [字符集] -DDEFAULT_COLLATION=utf8_general_ci [排序规则 必须有,不然初始化数据库困难] -DDOWNLOAD_BOOST=1 [从MySQL 5.7.5开始Boost库是必需的] -DWITH_BOOST=/root/mysql-5.7.11/boost -DWITH_SYSTEMD=1 [支持Systemd] 加上-DWITH_SYSTEMD=1可以使用systemd控制mysql服务,默认是不开启systemd的。
然后 make -j 2 && make install
mysql将会安装到/usr/local/mysql路径 慢慢等……
配置MySQL
添加mysql用户和组
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
创建 mysql PID 默认目录
在 mysqld.service ,把默认的pid文件指定到了 /var/run/mysqld/ 目录,而并没有事先建立该目录,因此要手动建立该目录并把权限赋给 mysql 用户。 mkdir -p /var/run/mysqldchown mysql:mysql /var/run/mysqld
mysql 三个运行文件默认位置
log : /var/log/mysqld.logpid : /var/run/mysqld/mysqld.pidsock : /tmp/mysql.sock
拷贝 my.cnf 和 mysqld.service
cp support-files/my-default.cnf /etc/my.cnf
mysql 5.7 默认将 mysqld.service (/usr/local/mysql/)文件安装到了 mysql 安装目录下的 usr/lib/systemd/system/,将 mysqld.service 复制到/usr/lib/systemd/system/目录下 [root@localhost]/usr/local/mysql#cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
添加环境变量
— 编辑/etc/profile文件在最后添加如下两行 — “
vim /etc/profile
PATH=/usr/local/mysql/bin:$PATH export PATH
source /etc/profile
初始化 无密码 mysql 数据库
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/databin/mysql_ssl_rsa_setup
出现下列内容,初始化成功 2016-02-22T03:56:27.254356Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the –initialize-insecure option.
-–initialize 会生成一个随机密码(保存在~/.mysql_secret),而 -–initialize-insecure 不会生成密码,在MySQL安全配置向导mysql_secure_installation设置密码时,可自由选择 mysql 密码等级。
-–datadir目标目录下不能有数据文件。
之前版本初始化程序 mysql_install_db 是在 /usr/local/mysql/script 下,并会在将来被移除,转而使用mysqld替代 已被废弃 mysql5.7 放在了 /usr/local/mysql/bin 目录下。
启动 mysql
systemctl start mysqld.service
systemctl status mysqld.service
运行 MySQL安全配置向导mysql_secure_installation 设置密码,mysql 服务启动后才可执行
a)为root用户设置密码 b)删除匿名账号 c)取消root用户远程登录 d)删除test库和对test库的访问权限 e)刷新授权表使修改生效 [root@localhost mysql]# mysql_secure_installation
make가 활성화됩니다. -j 2 && make.install
mysql은 /usr/local/mysql 경로에 설치되고 천천히 기다립니다...🎜🎜🎜MySQL 구성🎜🎜🎜🎜mysql 사용자 및 그룹 추가🎜🎜mysql -u root -p mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; [password 为远程连接密码] mysql>FLUSH PRIVILEGES; [刷新权限]🎜useradd - g mysql -s /sbin /nologin mysql🎜🎜🎜/usr/local/mysql 권한 수정🎜🎜rrreee🎜🎜mysql PID 기본 디렉터리 만들기🎜🎜🎜mysqld.service에서 기본 pid 파일을 /var/run/에 지정합니다. mysqld/ 디렉터리이며, 이 디렉터리는 미리 생성되지 않았으므로 수동으로 디렉터리를 생성하고 mysql 사용자에게 권한을 부여해야 합니다.
mkdir -p /var/run/mysqldchown mysql:mysql /var/run/mysqld
🎜🎜🎜mysql 실행 중인 세 파일의 기본 위치🎜🎜rrreee🎜🎜my.cnf 및 mysqld.service 복사 🎜🎜 rrreee🎜mysql 5.7은 기본적으로 mysql 설치 디렉터리의 usr/lib/systemd/system/에 mysqld.service(/usr/local/mysql/) 파일을 설치하고, mysqld.service를 /usr/lib/systemd에 복사합니다. /system/ 디렉터리 [root@localhost]/usr/local/mysql#cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
🎜🎜🎜환경 변수 추가🎜 🎜🎜 — /etc/profile 파일을 편집하고 끝에 다음 두 줄을 추가합니다. "🎜🎜vim /etc/profile🎜🎜PATH=/usr/local/mysql/bin:$PATH 내보내기 PATH🎜🎜source / etc/profile🎜🎜 🎜비밀번호 없는 mysql 데이터베이스 초기화🎜🎜🎜bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/ databin/mysql_ssl_rsa_setup< /code> 다음 내용이 나타나고 초기화에 성공했습니다. 2016-02-22T03:56:27.254356Z 1 [경고] root@localhost가 빈 비밀번호로 생성되었습니다. –initialize-insecure 옵션을 끄는 것을 고려해 보세요. .🎜🎜-– 초기화는 임의의 비밀번호(~/.mysql_secret에 저장됨)를 생성하지만, -–initialize-insecure는 비밀번호를 생성하지 않습니다. MySQL 보안 구성 마법사 mysql_secure_installation에서 비밀번호를 자유롭게 선택할 수 있습니다. mysql 비밀번호 수준. 🎜🎜-–datadir 대상 디렉터리에는 데이터 파일이 있을 수 없습니다. 🎜🎜이전 버전의 초기화 프로그램 mysql_install_db는 /usr/local/mysql/script에 있으며 향후 제거될 예정입니다. 대신, 더 이상 사용되지 않는 mysql5.7 대신 mysqld가 사용되며 /usr/local/mysql/에 배치됩니다. bin 디렉토리. 🎜🎜🎜Start mysql🎜🎜🎜systemctl start mysqld.service🎜🎜systemctl status mysqld.service🎜🎜MySQL 보안 구성 마법사 mysql_secure_installation을 실행하고 비밀번호를 설정하세요. mysql 서비스는 시작된 후에만 실행될 수 있습니다🎜🎜a). 루트 사용자의 비밀번호 b) 익명 계정 삭제 c) 루트 사용자 원격 로그인 취소 d) 테스트 라이브러리 및 테스트 라이브러리에 대한 액세스 권한 삭제 e) 수정 사항을 적용하려면 인증 테이블을 새로 고칩니다. <code>[root@localhost mysql ]# mysql_secure_installation
🎜🎜MySQL 서버 배포를 보호합니다.🎜Connecting to MySQL using a blank password. [使用空密码连接到MySQL]
VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin?[VALIDATE密码插件可以被用来测试密码 并提高安全性。你是否想设置VALIDATE密码插件?]
Press y|Y for Yes, any other key for No: y
There are three levels of password validation policy: [有三种级别的密码验证策略:]
LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file [最小长度> = 8 中等长度> = 8,数字,大小写混合和特殊字符 最长长度> = 8,数字,混合大小写,特殊字符和字典文件]
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0 [请输入0 =低,1 =中2 =强:0] Please set the password for root here. [请在这里设置root用户的密码。]
New password: [新密码:]
Re-enter new password: [重新输入新密码:]
Estimated strength of the password: 25 [密码的估计强度:25] Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y [您是否希望继续与提供的密码(按y | Y表示是,因为没有任何其他键):Y?] … Failed! Error: Your password does not satisfy the current policy requirements [ … 失败!错误:您的密码不符合当前的要求]
New password:
Re-enter new password:
Estimated strength of the password: 50 [密码的估计强度:50] Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. [默认情况下,MySQL安装有一个匿名用户, 允许任何人登录到MySQL.]
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y [删除匿名用户?] Success. [成功。]
Normally, root should only be allowed to connect from ‘localhost’. This ensures that someone cannot guess at the root password from the network. [通常情况下,Root 只允许其进行’localhost'(本地) 连接 。]
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n [禁止远程root登录?]
...omitting. [省略]。] By default, MySQL comes with a database named ‘test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. [默认情况下,MySQL带有一个名为“测试”数据库,任何人都可以访问。这也是仅用于测试,并且应该移动到生产之前被删除环境。]
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n [删除测试数据库和访问权限?]
... omitting. [ ...省略。] Reloading the privilege tables will ensure that all changes made so far will take effect immediately. [刷新授权表以确保所有的变化取得将立即生效。]
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : [现在刷新授权表?]
… skipping. All done! [全部完成!]
开放 Root 远程连接权限
mysql -u root -p mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; [password 为远程连接密码] mysql>FLUSH PRIVILEGES; [刷新权限]
위 내용은 Systemd를 통해 Mysql5.7.11을 컴파일하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

USSETTINGUTUPMYSQLTABLES를 설정할 때 DATATYPESSISCECIALFORFOILICION 및 SCALIBICTION을 선택하십시오

1. PHP 개발 질문 및 답변 커뮤니티에서 Laravel MySQL VUE/React 조합의 첫 번째 선택은 생태계의 성숙과 높은 개발 효율로 인해 Laravel MySQL VUE/React 조합의 첫 번째 선택입니다. 2. 고성능은 캐시 (REDIS), 데이터베이스 최적화, CDN 및 비동기 큐에 의존해야합니다. 3. 입력 필터링, CSRF 보호, HTTPS, 비밀번호 암호화 및 권한 제어로 보안을 수행해야합니다. 4. 돈 선택적 광고, 회원 가입, 보상, 커미션, 지식 지불 및 기타 모델은 핵심은 커뮤니티 톤 및 사용자 요구에 맞는 것입니다.

MySQL 반 동기화 복제를 설정하는 단계는 다음과 같습니다. 1. 버전 지원을 확인하고 플러그인을로드합니다. 2. 반동 모드를 켜서 활성화하십시오. 3. 상태 및 작동 상태를 확인하십시오. 4. 시간 초과 설정, 멀티 슬레이브 라이브러리 구성 및 마스터 슬레이브 스위칭 처리에주의하십시오. RPL_SEMI_SYNC_MASTER 및 RPL_SEMI_SYNC_SLAVE 플러그인, 마스터 및 슬레이브 라이브러리에서 해당 매개 변수를 활성화하고 My.CNF에서 자동로드를 구성하고, 설정이 완료된 후에 상태를 다시 시작하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 상태를 확인한 후에 서비스를 다시 시작하는 MySQL 5.5 이상의 버전이 설치되도록해야합니다.

MySQL 오류 "implectStringValueforColumn"은 일반적으로 필드 문자 세트가 이모티콘과 같은 4 바이트 문자를 지원하지 않기 때문입니다. 1. 오류의 원인 : MySQL의 UTF8 문자 세트는 3 바이트 문자 만 지원하며 4 바이트 이모티콘을 저장할 수 없습니다. 2. 솔루션 : 데이터베이스, 테이블, 필드 및 연결을 UTF8MB4 문자 세트로 변경합니다. 3. 또한 구성 파일, 임시 테이블, 응용 프로그램 계층 인코딩 및 클라이언트 드라이버가 모두 UTF8MB4를 지원하는지 확인하십시오. 4. 대체 솔루션 : 4 바이트 문자를 지원할 필요가 없다면 응용 프로그램 계층에서 이모티콘과 같은 특수 문자를 필터링 할 수 있습니다.

MySQL 배포 자동화를 달성하기 위해 Terraform을 사용하여 리소스, Ansible Management 구성, 버전 제어를위한 GIT 및 보안 및 권한 관리를 강화하는 것입니다. 1. Terraform을 사용하여 버전, 유형, 액세스 제어 및 AWSRD의 기타 리소스 속성과 같은 MySQL 인스턴스를 정의합니다. 2. AnsiblePlayBook을 사용하여 데이터베이스 사용자 생성, 권한 설정 등과 같은 세부 구성을 실현합니다. 3. 모든 구성 파일은 GIT 관리, 지원 변경 추적 및 협업 개발에 포함됩니다. 4. 하드 코딩 된 민감한 정보를 피하고 Vault 또는 AnsibleVault를 사용하여 암호를 관리하고 액세스 제어 및 최소 권한 원칙을 설정하십시오.

사용자 행동 데이터를 수집하려면 PHP를 통해 탐색, 검색, 구매 및 기타 정보를 데이터베이스에 기록하고이를 청소하고 분석하여 관심 선호도를 탐색해야합니다. 2. 권장 알고리즘 선택은 데이터 특성에 따라 결정되어야합니다. 컨텐츠, 협업 필터링, 규칙 또는 혼합 권장 사항에 따라; 3. 공동 작업 필터링을 PHP에서 구현하여 사용자 코사인 유사성을 계산하고 가장 가까운 이웃을 선택하고 가중 예측 점수를 선택하고 고급 제품을 추천합니다. 4. 성능 평가는 정확도, 리콜, F1 값 및 CTR, 전환율을 사용하고 A/B 테스트를 통해 효과를 확인합니다. 5. 콜드 스타트 문제는 제품 속성, 사용자 등록 정보, 대중 권장 사항 및 전문가 평가를 통해 완화 될 수 있습니다. 6. 성능 최적화 방법에는 캐시 된 추천 결과, 비동기 처리, 분산 컴퓨팅 및 SQL 쿼리 최적화가 포함되어 권장 효율성 및 사용자 경험이 향상됩니다.

MySQL 데이터베이스에 Excel을 연결하는 세 가지 방법이 있습니다. 1. PowerQuery 사용 : MySQLODBC 드라이버를 설치 한 후 Excel의 내장 된 PowerQuery 기능을 통해 연결 및 가져 오기 데이터를 설치 한 후 Timed Refresh를 지원합니다. 2. MySQLForexcel 플러그인 사용 : 공식 플러그인은 친숙한 인터페이스를 제공하고 양방향 동기화 및 테이블 가져 오기를 MySQL로 다시 제공하며 버전 호환성에주의를 기울입니다. 3. VBA ADO 프로그래밍 사용 : 고급 사용자에게 적합하고 매크로 코드를 작성하여 유연한 연결 및 쿼리를 달성하십시오. 귀하의 요구와 기술 수준에 따라 적절한 방법을 선택하십시오. PowerQuery 또는 MySQlforexcel은 매일 사용하는 데 권장되며 VBA는 자동 처리에 더 좋습니다.

적절한 PHP 프레임 워크를 선택할 때는 프로젝트 요구에 따라 포괄적으로 고려해야합니다. Laravel은 빠른 개발에 적합하며 엘로라 톰 및 블레이드 템플릿 엔진을 제공하며 데이터베이스 작동 및 동적 형태 렌더링에 편리합니다. Symfony는 더 유연하고 복잡한 시스템에 적합합니다. Codeigniter는 가볍고 고성능 요구 사항을 가진 간단한 응용 프로그램에 적합합니다. 2. AI 모델의 정확성을 보장하려면 고품질 데이터 교육, 합리적인 평가 지표 (예 : 정확도, 리콜, F1 값), 정기적 인 성능 평가 및 모델 튜닝과 같은 합리적인 평가 표시기 선택으로 시작하고 단위 테스트 및 통합 테스트를 통한 코드 품질을 보장하면서 입력 데이터를 지속적으로 모니터링하여 데이터 드리프트를 방지해야합니다. 3. 사용자 개인 정보 보호를위한 많은 조치가 필요합니다. AES와 같은 민감한 데이터를 암호화하고 저장합니다.
