CentOS6 9 Mysql5 7 18原始碼安裝

2021-08-02 17:47:48 字數 4551 閱讀 1250

以下操作均在root使用者下執行

1、安裝依賴工具

cmake make3.75+   gcc4.4.6+    boost1.59.0   bison   ncurses

yum install -y cmake

yum install -y make

yum install -y gcc

yum install -y gcc-c++

yum install -y bison

yum install -y ncurses

yum install -y ncurses-devel

cd /opt

wget

或者向度娘要乙個

tar -zxvf boost_1_59_0.tar.gz -c /usr/local/

git clone

沒有git就 yum install git裝乙個

選擇5.7

建立mysql使用者,使用者組為root

useradd -r -g root -s /bin/false mysql

3、執行cmake

cd /opt/mysql-server5.7

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

-dmysql_datadir=/usr/local/mysql/data \

-dwith_boost=/usr/local/boost_1_59_0 \

-dmysql_unix_addr=/tmp/mysql.sock \

-dsysconfdir=/etc \

-default_charset=utf8 \

-ddefault_collation=utf8_general_ci \

-denabled_local_infile=1 \

-dextra_charsets=all

4、編譯安裝

make -j `grep processor /proc/cpuinfo | wc -l`

make install

-j引數表示根據cpu核數指定編譯時的執行緒數,可以加快編譯速度。

如果中途編譯失敗了,需要刪除cmake生成的預編譯配置引數的快取檔案和make編譯後生成的檔案,再重新編譯。

cd /opt/mysql-server5.7

rm -f cmakecache.txt

make clean

5、初始化系統資料庫

vim /etc/my.cnf

進入insert模式,將原來內容替換成如下內容:

[client]

port=3306

socket=/usr/local/mysql/mysql.sock

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

skip-external-locking

skip-name-resolve

#protocol=tcp

user=mysql

port=3306

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

tmpdir=/usr/local/mysql/temp

# server_id = .....

socket=/usr/local/mysql/mysql.sock

log-error=/usr/local/mysql/logs/mysql_error.log

pid-file=/usr/local/mysql/mysql.pid

open_files_limit=10240

back_log=600

max_connections=500

max_connect_errors=6000

wait_timeout=605800

#open_tables=600

#table_cache = 650

#opened_tables = 630

max_allowed_packet=32m

sort_buffer_size=4m

join_buffer_size=4m

thread_cache_size=300

query_cache_type=1

query_cache_size=256m

query_cache_limit=2m

query_cache_min_res_unit=16k

tmp_table_size=256m

max_heap_table_size=256m

key_buffer_size=256m

read_buffer_size=1m

read_rnd_buffer_size=16m

bulk_insert_buffer_size=64m

lower_case_table_names=1

default-storage-engine=innodb

innodb_buffer_pool_size=2g

innodb_log_buffer_size=32m

innodb_log_file_size=128m

innodb_flush_method=o_direct

#####################

#thread_concurrency=32

long_query_time=2

slow-query-log=on

slow-query-log-file=/usr/local/mysql/logs/mysql-slow.log

[mysqldump]

quick

max_allowed_packet=32m

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

cd /usr/local/mysql

mkdir data

mkdir logs

mkdir temp

chmod 0770 -r .

./bin/mysqld --initialize   --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --socket=/tmp/mysql.sock

在mysql 5.7.6版本以前是 bin/mysql_install_db  --user

執行完成後,檢視 logs/mysql_error.log檔案,將裡面的臨時root密碼記下來

a temporary password is generated for root@localhost: *********x

6、配置mysql

chkconfig --add mysqld     # 新增到系統服務

chkconfig mysqld on        # 開機啟動

service mysqld start啟動不成功,使用safe模式啟動

mkdir  /var/run/mysqld

chown -r mysql:root /var/run/mysqld

./bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

./bin/mysql -uroot -p

輸入mysql_error.log中的臨時密碼登入mysql控制台

則:cd bin

./mysqladmin -uroot -p password  【:一定要./mysqladmin】

enter password:   //輸入mysql_error.log中的臨時密碼

new password:    //重新輸入新密碼

confirm new password: //重新輸入新密碼

輸入mysql_error.log中的臨時密碼登入mysql控制台

set password='asdfghjkl'』;

query ok, 0 rows affected (0.00 sec)

show  warnings;

停止mysql

mysqladmin -u root -p  shutdown

輸入剛才設定的密碼,停止成功

接下來可以使用系統服務來啟動mysql了:

service mysqld start       # 啟動mysql服務

以上 /usr/local 換成啟用自定義目錄安裝mysql也是可以的

centos6 9安裝mysql流程

全新系統,老系統請確定解除安裝mysql無殘留。一 利用yum安裝mysql server 和 mysql devel。二 啟動mysqld服務。三 設定mysql密碼 密碼一定不能設定太簡單否則本地伺服器會出現進不去的情況 四 進入mysql並開啟mysql資料庫,修改user表開啟遠端登入許可權...

在Centos6 9下安裝Mysql

學習hadoop學的hive,發現需要先在虛擬機上安裝mysql,但是這個裝起來真的麻煩,我整整裝了一天,接下來就把過程記錄下來以備學習。由於我的mini版centos沒有設定聯網,所以採用了安裝包的方式進行安裝。二 檢查你所用的linux下有沒有安裝過mysql,沒有解除安裝乾淨 使用以下語句查詢...

mysql 5 7 centos 設定密碼

1 修改 etc my.cnf,在 mysqld 小節下新增一行 skip grant tables 1 這一行配置讓 mysqld 啟動時不對密碼進行驗證 2 重啟mysqld 服務 systemctl restart mysqld 3 使用 root 使用者登入到 mysql mysql uro...