mysql源碼安裝

 

mysql源碼安裝(5.6.36)

 

一.安裝依賴包

1)安裝依賴包

yum install -y ncurses-devel libaio-devel

 

2)安裝cmake

yum install cmake –y

 

3)建立用戶

useradd -s /sbin/nologin -M mysql
id mysql

 

二.下載mysql

 

1)網址:

https://downloads.mysql.commysql

 

 

 

三.編譯安裝

1)解壓 

[root@db2 tools]# pwd
/home/ysl/tools
[root@db2 tools]# tar -xf mysql-5.6.36.tar.gz 
[root@db2 tools]# cd mysql-5.6.36

 

 

2)編譯安裝

cd mysql-5.6.42
cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql-5.6.42 \
-DMYSQL_DATADIR=/data/mysql-5.6.42/data \
-DMYSQL_UNIX_ADDR=/data/mysql-5.6.42/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
make && make install
ln -s /data/mysql-5.6.42/ /data/mysql

 

 

# 軟鏈接
[root@db2 mysql-5.6.36]# ln -s /data/mysql-5.6.42/ /data/mysql

# 拷貝配置文件到/etc下   
[root@db2 mysql-5.6.36]# cp support-files/my*.cnf  /etc/my.cnf 
cp: overwrite `/etc/my.cnf'? y

# 初始化數據庫
[root@db2 mysql-5.6.36]# /data/mysql/scripts/mysql_install_db --basedir=/data/mysql/ --datadir=/data/mysql/data --user=mysql



# 建立關鍵目錄並設置權限
[root@db2 mysql-5.6.36]# mkdir -p /data/mysql/tmp
[root@db2 mysql-5.6.36]# chown -R mysql.mysql  /data/mysql/

# 複製 啓動文件
[root@db2 mysql-5.6.36]# cp support-files/mysql.server  /etc/init.d/mysqld

# 啓動mysql
[root@db2 mysql-5.6.36]# chmod +x /etc/init.d/mysqld
 
#配置環境變量
[root@db2 mysql-5.6.36]# echo 'export PATH=/data/mysql/bin/:$PATH' >>/etc/profile

 

 

[root@db2 mysql]# mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.36 Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

 

 

3)修改配置文件

[root@db2 ~]# cat  /etc/my.cnf 
[mysqld]
datadir=/data/mysql/data
basedir=/data/mysql
socket=/data/mysql/tmp/mysql.sock
port=3306
server_id=10
log-error=/var/log/mysql.log
log-bin=/data/mysql/data/mysql-bin
binlog_format=row
skip_name_resolve

[mysql]
socket=/data/mysql/tmp/mysql.sock

 

 

 


4)mysql啓動和關閉sql

 

mysql.server ------>mysqld_safe------->mysqld數據庫

 

啓動:
[root@db02 ~]# /etc/init.d/mysqld start
或者:
[root@db02 ~]# /data/mysql/bin/mysqld_safe &

 

關閉:
[root@db02 ~]# mysqladmin -uroot -p123456 shutdown
或者:
[root@db02 ~]# /etc/init.d/mysqld stop

 

 

 

---------------------------
mysql 啓動參數設置
一、預編譯時候設置參數,參數會硬編碼到程序中
二、命令行方式設定啓動參數
三、初始化的配置文件
2>3>1
--------------------------socket

/etc/my.cnf 影響了什麼?

(1)影響數據庫的啓動
[mysqld]tcp

[mysqld_safe]編碼

[server]spa


(2)影響到數據庫的連接命令行

[mysql]unix

[mysqladmin]code

[mysqldump]

[client]

 

 

 

四.配置多實例

 

 #1 建立多個目錄

[root@db2 ~]# mkdir -p /data/330{7,8,9}

 

 

# 2 準備多套配置文件

[root@db2 ~]# cat /data/3307/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/3307
server-id=3307
port=3307
log-bin=/data/3307/mysql-bin
socket=/data/3307/mysql.sock
log-error=/data/3307/mysql.log

[root@db2 ~]# cat /data/3308/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/3308
server-id=3308
port=3308
log-bin=/data/3308/mysql-bin
socket=/data/3308/mysql.sock
log-error=/data/3308/mysql.log

[root@db2 ~]# cat /data/3309/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/3309
server-id=3309
port=3309
log-bin=/data/3309/mysql-bin
socket=/data/3309/mysql.sock
log-error=/data/3309/mysql.log

 

 

# 3 初始化多套數據

[root@db2 ~]# /data/mysql/scripts/mysql_install_db --basedir=/data/mysql/ --datadir=/data/3307 --user=mysql
[root@db2 ~]# /data/mysql/scripts/mysql_install_db --basedir=/data/mysql/ --datadir=/data/3308 --user=mysql
[root@db2 ~]# /data/mysql/scripts/mysql_install_db --basedir=/data/mysql/ --datadir=/data/3309 --user=mysql

 

 

#4  啓動mysql 實例

[root@db2 ~]# mysqld_safe --defaults-file=/data/3307/my.cnf &
[root@db2 ~]# mysqld_safe --defaults-file=/data/3308/my.cnf &
[root@db2 ~]# mysqld_safe --defaults-file=/data/3309/my.cnf &

 

 

#5  檢查進程是否存在

[root@db2 ~]# netstat -lnp | grep 330
tcp 0 0 :::3307 :::* LISTEN 24307/mysqld 
tcp 0 0 :::3308 :::* LISTEN 24477/mysqld 
tcp 0 0 :::3309 :::* LISTEN 24829/mysqld 
unix 2 [ ACC ] STREAM LISTENING 108504 24307/mysqld /data/3307/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 108634 24477/mysqld /data/3308/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 109335 24829/mysqld /data/3309/mysql.sock

 

 

#6  登錄mysql實例

[root@db2 ~]# mysql -S /data/3307/mysql.sock -e "show variables like 'server_id';"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 3307 |
+---------------+-------+
[root@db2 ~]# mysql -S /data/3308/mysql.sock -e "show variables like 'server_id';"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 3308 |
+---------------+-------+
[root@db2 ~]# mysql -S /data/3309/mysql.sock -e "show variables like 'server_id';"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 3309 |
+---------------+-------+

 

 

 #7  停mysql 實例

[root@db2 ~]# mysqladmin -S /data/3307/mysql.sock shutdown
[root@db2 ~]# mysqladmin -S /data/3308/mysql.sock shutdown
[root@db2 ~]# mysqladmin -S /data/3309/mysql.sock shutdown

 
相關文章
相關標籤/搜索