1. 程式人生 > >CentOS 6.6 源碼編譯安裝MySQL-5.7.18

CentOS 6.6 源碼編譯安裝MySQL-5.7.18

gre 選擇 nbsp 修改root密碼 mysql- led init.d password logs

一、添加用戶和組

1.添加mysql用戶組

# groupadd mysql

2.添加mysql用戶

# useradd  -g mysql -s /bin/nologin mysql -M

二、查看系統中是否安裝mysql,如果安裝需要卸載

# rpm -qa | grep mysql
mysql-libs-5.1.73-3.el6_5.x86_64
# rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps

三、安裝所需依賴包

# yum -y install wget gcc-c++ ncurses-devel cmake 

四、安裝

1.下載最新版本的MySQL

進入http://dev.mysql.com/downloads/mysql/,選擇Source Code下的Generic Linux。選擇帶boost庫的mysql下載。MySQL5.7對boost庫有要求,選擇帶boost庫的會避過一些坑。

# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz 

2.解壓並安裝

# tar xf mysql-boost-5.7.18.tar.gz
# cd mysql-5.7.18
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost/boost_1_59_0 # make && make install

MySQL將會安裝到/usr/local/mysql目錄。

3.進入安裝目錄並創建data目錄

# cd /usr/local/mysql
# mkdir data

4.修改/usr/local/mysql目錄權限

# chown -R mysql. /usr/local/mysql

5.初始化數據庫

# ./mysqld --initialize   --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

註:

1.之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目錄下,且已被廢棄
2."--initialize"會生成一個隨機密碼(~/.mysql_secret),而"--initialize-insecure"不會生成密碼
3.--datadir目標目錄下不能有數據文件
4.使用--initialize參數後,一定要記住生成的密碼,否則無法登陸數據庫。

6.拷貝啟動文件到/etc/init.d/下並重命令為mysqld

# /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

7.創建配置文件

安裝完後發現沒有my.cnf配置文件,手動創建個

# vim /etc/my.cnf
[mysqld]
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock

[client]
socket=/tmp/mysql.sock

8.啟動mysql

# /etc/init.d/mysqld start

9.登錄mysql

# /usr/local/mysql/bin/mysql -uroot -p系統生成的密碼

10.修改root密碼

mysql>set password = password(新密碼);
mysql>flush privileges;
mysql>exit

11.退出重新登錄

# /usr/local/mysql/bin/mysql -uroot -p‘新密碼’

  

  

  

 

 

CentOS 6.6 源碼編譯安裝MySQL-5.7.18