LNMP架構(5)mysql的原始碼編譯安裝及啟動

2021-10-09 05:40:13 字數 2539 閱讀 7297

安裝版本:mysql8.0 ,在安裝之前需要解決很多依賴性,主要依賴性有:cmake和gcc 

cmake的依賴解決:

yum install cmake3-3.6.1-2.el7.x86_64.rpm

jsoncpp-0.10.5-2.el7.x86_64.rpm

cmake3-data-3.6.1-2.el7.noarch.rpm

jsoncpp-devel-0.10.5-2.el7.x86_64.rpm

做個軟連線:ln -s /usr/bin/cmake3 /usr/local/bin/cmake

gcc的依賴解決:

gcc公升級:

首先設定aliyun的centos源,再執行以下命令

# yum install centos-release-scl

# yum install devtoolset-7-gcc*

# scl enable devtoolset-7 bash

# which gcc

# gcc --version

mysql8編譯:

# tar zxf mysql-boost-8.0.21.tar.gz

# mkdir build

# cd build

# cmake ../ -dcmake_install_prefix=/usr/local/mysql \

-dmysql_datadir=/data/mysql \

-dmysql_unix_addr=/data/mysql/mysql.sock \

-dwith_innobase_storage_engine=1 \

-dsysconfdir=/etc \

-denabled_local_infile=1 \

-dwith_extra_charsets=all \

-ddefault_charset=utf8mb4 \

-ddefault_collation=utf8mb4_0900_ai_ci \

-dwith_boost=/root/mysql-8.0.21/boost/boost_1_72_0/

# make j2

# make install

cd /usr/local/mysql/support-files/

cp mysql.server /etc/init.d/mysqld

vim /etc/my.cnf

useradd -m -d /usr/local/mysql/ -s /sbin/nologin mysql 新增使用者mysql 不讓其登入系統

mkdir -p /data/mysql

chown mysql.mysql /data/mysql/ 修改檔案的所有者為mysql

vim ~/.bash_profile

source ~/.bash_profile 新增環境變數

mysqld --initialize --user=mysql 初始化資料庫

/etc/init.d/mysqld start 啟動資料庫

mysql -p 登入資料庫 此時會有密碼 密碼在上面的初始化過程**現

mysql> alter user root@localhost identified by '密碼';

vim /etc/my.cnf
[mysqld]

basedir=/usr/local/lnmp/mysql

datadir=/data/mysql

socket=/data/mysql/mysql.sock

#skip-grant-tables

server-id=1

log-bin=mysql-bin

## include all files from the config directory

#!includedir /etc/my.cnf.d

3.mysql密碼重置

密碼忘記如何重置

(1)vim /etc/my.cnf

skip-grant-tables 新增這個引數 即可不用密碼的登入

(2)/etc/init.d/mysqld restart

(3)mysql -p

mysql> update mysql.user set authentication_string='' where user='root';

(4) 退出資料庫後 vim /etc/my.cnf 刪除skip-grant-tables 引數

(5)/etc/init.d/mysqld restart

(6)mysql -p

mysql> alter user root@localhost identified by '密碼';

mysql> flush privileges;

5 MySQL基於索引的優化

建表語句如下 mysql create table t id int primary key,k int not null default 0,s varchar 16 not null default index k k engine innodb idks 1001 aa 2002 bb 300...

5 mysql中的庫操作

對資料庫的操作包括對資料庫的增 刪 改 查 接下來介紹一下基本的sql語句 建立資料庫 create database 資料庫名稱 字符集 charset utf8 create database czpdb charset urf8 czpdb 資料庫在磁碟中就是乙個資料夾,它下邊的db.opt檔...

5 MySQL中的列屬性

mysql中的列屬性 列屬性列屬性 真正約束欄位的是資料型別,但是資料型別的越是很單一,需要一些額外的屬性來約束資料的合法性 列屬性包括哪些?null notnull default primary key auto increment comment 列描述列描述 comment 沒有實際意義,是...