004 LNMP之Mysql原始碼編譯安裝

2022-08-10 19:54:13 字數 3359 閱讀 3780

正文:

//這裡有很多常用的映象,mysql的原始碼包也在裡面。

1.mysql資料庫的一些依賴包

yum -y install gcc gcc-c++ make tar openssl openssl-devel cmake ncurses ncurses-devel
2.mysql的編譯安裝

# 建立mysql使用者去啟動資料庫程序

useradd -s /sbin/nologin mysql

cd /usr/local/src

tar -zxvf mysql-5.6.39.tar.gz

cd mysql-5.6.39

cmake -dcmake_install_prefix=/usr/local/mysql -dmysql_datadir=/data/mysql -ddefault_charset=utf8 -ddefault_collation=utf8_general_ci -dwith_extra_charsets:string=all -dwith_debug=0 -dwith_ssl=yes -dwith_readline=1 -denabled_local_infile=1

make && make install

cp /usr/local/src/mysql-5.6.39/support-files/mysql.server /etc/init.d/mysqld

chmod a+x /etc/init.d/mysqld

3.編譯引數說明

# 指定mysql的安裝目錄

cmack_install_prefix

# 指定mysql的資料目錄

mysql_datadir

4.mysql環境變數配置

export path=$path:/usr/local/mysql/bin/

# 將環境變數追加到 /etc/profile

source /ect/profile

# 檢視環境變數是否生效

echo $path

5.mysql的啟動步驟

1.更新配置

2.資料庫初始化

3.啟動資料庫

6.更新mysql配置 /etc/my.cnf

[mysqld]

bind-address=0.0.0.0

port=3306

datadir=/data/mysql

user=mysql

skip-name-resolve

long_query_time=2

slow_query_log_file=/data/mysql/mysql-slow.log

expire_logs_days=2

innodb_flush_log_at_trx_commit=2

log_warnings=1

max_allowed_packet=512m

connect_timeout=120

[mysqld_safe]

log_error=/data/mysql/mysqld.log

pid-file=/data/mysqld/mysqld.pid

7.mysql資料庫初始化

mkdir -pv /data/mysql

chown -r mysql:mysql /usr/local/mysql /data/mysql/

yum install -y perl-module-install

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --datadir=/data/mysql/

8.使用systemctl管理mysqld

# 配置檔案的路徑 

vi /usr/lib/systemd/systemd/mysqld.service

[unit]

description=mysqld

after=network.target

[service]

type=forking

execstart=/etc/init.d/mysqld start

[install]

wantedby=multi-user.target

9.啟動mysql伺服器

systemctl start mysqld
10.驗證mysql是否啟動

1.檢視程序 ps -ef | grep mysql

2.檢視監聽 netstat -tunlp | grep mysql

3.檢視日誌 cat /data/mysql/mysqld.log

11.mysql的安全方式

1.mysql能限制ip訪問、訪問需要使用者名稱密碼、mysql許可權還能細分

2.預設讓127.0.0.1訪問,使用者名稱root,不需要密碼

3.mysql -uroot -h 127.0.0.1 -a

12.mysql加密碼

# 給mysql資料庫root使用者新增密碼root

mysqladmin -h 127.0.0.1 -uroot password 'root'

# 用root密碼驗證登入

mysql -h 127.0.0.1 -uroot -proot -a

13.mysql授權某ip登入,指定使用者名稱

# 新增192.168.0.x段的ip允許網路訪問mysql資料庫

grant all privileges on *.* to 'root'@'192.168.0.%' identified by 'root' with grant option;

# 重新整理mysql許可權的相關表

flush privileges;

14.網路登入mysql

# 我用另外一台linux機器:192.168.4.98 網路登入mysql資料庫訪問

AQS之countDownLatch原始碼解析

public class countdownlatch int getcount protected int tryacquireshared int acquires protected boolean tryreleaseshared int releases private final syn...

redux系列之react thunk原始碼解讀

不過,redux只是乙個和其他庫無關的狀態管理庫,為了能夠方便的在react中使用,我們必須結合react redux來使用。react redux通過provider使用給react專案的所有子元件注入store,通過connect給元件注入state和dispatch。但是,有了react re...

windows平台如何除錯mysql原始碼?

前期準備 1 安裝visual studio community 2017 2 安裝cmake 3 安裝bison,需手動新增到環境變數 4 mysql原始碼5.7.23 5 boost 1 59 0.tar.gz 具體操作 1 解壓5.7.23原始碼,並在原始碼目錄新建bld和boost目錄,將b...