天天看點

mysql編譯安裝

 編譯安裝`

#下載下傳5.6.36包

wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

1、更新安裝epel源(下面是centos6的epel源)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

2、安裝依賴軟體包

yum install -y ncurses-devel libaio-devel

3、安裝cmake

yum install -y cmake 

4、建立系統使用者

useradd mysql -s /sbin/nologin -M

5、修改hosts檔案,做解析

[root@db01 /server/tools]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.51     db01

6、解壓源碼包

cd /server/tools/

tar xg mysql-5.6.38.tar.gz

7、生成

切到指定目錄

cd mysql-5.6.38

#程式存放位置

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \

#資料存放位置

-DMYSQL_DATADIR=/application/mysql-5.6.38/data \

#socket檔案存放位置

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \

#使用utf8字元集

-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 \

#啟用zlib庫支援(zib、gzib相關)

-DWITH_ZLIB=bundled \

#啟用SSL庫支援(安全套接層)

-DWITH_SSL=bundled \

#啟用本地資料導入支援

-DENABLED_LOCAL_INFILE=1 \

#編譯嵌入式伺服器支援

-DWITH_EMBEDDED_SERVER=1 \

**# mysql5.6支援了google的c++mock架構了,允許下載下傳,否則會安裝報錯。**

-DENABLE_DOWNLOADS=1 \

#禁用debug(預設為禁用)

-DWITH_DEBUG=0 

8、編譯并安裝

make && make install

9、檢查編譯結果

[root@db01 /server/tools/mysql-5.6.38]# echo $?

10、做軟連接配接

ln -s /application/mysql-5.6.38/ /application/mysql

11、拷貝啟動腳本及配置檔案

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

mv /etc/my.cnf /tmp

cp /application/mysql/support-files/my-default.cnf /etc/my.cnf

12、進入mysql初始化腳本目錄,初始化mysql

cd /application/mysql/scripts/

./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data 

13、授權

chown -R mysql.mysql /application/mysql-5.6.38/

chown -R mysql.mysql /application/mysql

14、給啟動腳本授權700

chmod 700 /etc/init.d/mysqld

15、設定開機自啟動

chkconfig mysqld on

16、建立socket檔案目錄(5.6.36版本不會自動建立tmp目錄)

mkdir /application/mysql-5.6.38/tmp

17、添加環境變量(老師推薦)

echo 'PATH=/application/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh

source /etc/profile.d/mysql.sh

也可以下面的方式

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile

18、啟動mysql

/etc/init.d/mysqld start

19、檢查

[root@db01 /application/mysql/scripts]# lsof -i:3306

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

mysqld  20728 mysql   10u  IPv6  69193      0t0  TCP *:mysql (LISTEN) 

20、建立建立密碼

mysqladmin -uroot password '123456'

4.3 mysql的基本優化(删除無用庫以及使用者)

drop database test;             #删除test庫

drop user root@'db01';          #删除使用者

drop user ''@'db01';

drop user root@'127.0.0.1';

drop user ''@'localhost';

drop user 'root'@'::1';

優化完成隻留一下一個

mysql> select user,host,password from mysql.user;

+------+-----------+-------------------------------------------+

| user | host      | password                                  |

| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9