轉自:https://www.cnblogs.com/netsa/p/7088494.html
簡略步驟:
mysql5.6.41編譯安裝步驟:
下載mysql
准備用戶和組
yum安裝依賴
解壓mysql
cmake編譯mysql
make && make install ----時間約10分鍾
mysql安裝目錄權限設置
數據庫初始化
拷貝配置文件
root密碼重置,原來是沒密碼的
遠程賬戶授權
設置服務啟動和開機啟動
======實戰==============================
1 #安裝依賴 2 yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl vim 3 4 #准備用戶和組 5 groupadd mysql 6 useradd mysql -g mysql -M -s /sbin/nologin 7 下載mysql 5.6.41,使用fillzeler傳輸源碼包到遠程主機目錄下
14 #解壓包
15 tar -zxvf mysql-5.6.25.tar.gz
17 #進入解壓后的目錄
18 19 cd mysql-5.6.25 20 21 # 開始編譯,可自行修改目錄和端口 22 23 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 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 24 25 #編譯完成后安裝(時間約20分鍾) 26 27 make && make install 28
29 #如果需要重新編譯要刪除(可選) 30 31 32 rm -rf CMakeCache.txt 33 34 #目錄授權 35 36 chown mysq:mysql /usr/local/mysql 37 38 #數據庫初始化,此處注意執行腳本的方式和初始化參數的正確性,不然會造成初始化的不成功,不會創建mysql庫。注意仔細看初始化的成功提示
成功類似如下:
39 cd /usr/local/mysql 40 41 ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
執行上面這句腳本命令時報錯:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
查閱資料,解決方法如下
安裝autoconf庫
命令:yum-y install autoconf //此包安裝時會安裝Data:Dumper模塊
安裝完成后,再次運行上面腳本命令成功
43 #拷貝配置文件 44 45 cp support-files/my-default.cnf /etc/my.cnf 46 47 #修改my.cnf配置 48 vim /etc/my.cnf 49 50 [mysqld] 添加: 51datadir=/usr/local/mysql/data 52default-storage-engine=InnoDB 53lower_case_table_names=1 54 55 #設置環境變量 56 [root@localhost ~]# vi /root/.bash_profile 57 在修改PATH=$PATH:$HOME/bin為: 58 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib 59 [root@localhost ~]# source /root/.bash_profile //使剛才的修改生效 60 61 #傳統啟動方式啟動 62 63 bin/mysqld_safe --user=mysql &
運行上面63行命令遇到問題:-bash: mysqld_safe: command not found
查找到的解決方案:
原因:這是由於系統默認會查找/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是映射一個鏈接到/usr/bin目錄下,相當於建立一個鏈接文件。
首先得知道mysql命令或mysqladmin命令的完整路徑,比如mysql的路徑是:/usr/local/mysql/bin/mysql
執行:ln -s /usr/local/mysql/bin/mysql* /usr/bin
然后執行:mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
最后就可以用:mysql -uroot -p 登陸了
67 #制作成服務啟動 68 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 69 相關命令: 70 service mysql start 71 #停止mysql服務 72 service mysql stop 73 #重啟mysql服務 74 service mysql restart 75 76 #添加到開機啟動項 77 chkconfig --add mysql 78 79 #修改root密碼(前提是mysql啟動成功) 80 cd /usr/local/mysql 81 #./bin/mysqladmin -u root password 82 83 #mysql 賬戶訪問授權及遠程訪問授權及密碼修改 84 85 [root@localhost mysql]# mysql -u root mysql 86 mysql> use mysql; 87 mysql> desc user; 88 mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //為root添加遠程連接的能力 89 mysql> update user set Password = password('123456') where User='root'; //設置root用戶密碼 90 mysql> select Host,User,Password from user where User='root'; 91 mysql> flush privileges; 92 mysql> exit 93 94 #至此mysql安裝完成,進入mysql 95 96 mysql -uroot -p 97 98 根據提示輸入密碼即可。