源碼編譯安裝mysql

來源:互聯網
上載者:User

標籤:

1       概述

首先來看下mysql的:

http://ftp.plusline.de/mysql/Downloads/

這裡有mysql的各種版本

 

作業系統:CentOS release 6.8 (Final)

資料庫版本:mysql-5.6.31

 

2       規劃

Mysql程式主目錄

/mysql

屬組: mysql  屬主:root   

Mysql資料目錄

/data

屬組: mysql  屬主:  mysql

Mysql設定檔

/mysql

屬組:mysql  屬主:  root   

Mysql連接埠號碼

3306

 

Sock

/mysql/mysql.sock

屬組:mysql  屬主:root   

 

 

 

 

 

 

3       安裝3.1     安裝前準備

首先要確定一下軟體被安裝:

cmake,make,gcc,Perl,

 

yum install cmake,make,gcc,Perl -y

3.2     安裝3.2.1     解壓軟體

tar -zxvf mysql-5.6.31.tar.gz

3.2.2     編譯安裝

進入mysql目錄

cd mysql-5.6.31

建立目錄

mkdir bootstarp

配置編譯配置的參數

 

cmake ..  -DCMAKE_INSTALL_PREFIX = /mysql     The installation base directory.

-DMYSQL_DATADIR = /data                       The location of the MySQL data directory.

-DSYSCONFDIR=/mysql                           The default my.cnf option file directory.

 

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

-DMYSQL_TCP_PORT=3306                         The port number on which the server listens for TCP/IP connections. The default is 3306.

-DMYSQL_UNIX_ADDR=/mysql/mysql.sock

3.3     make並且make install

make

make install

至此mysql安裝完畢

4       安裝後的工作4.1     初始化資料目錄

cd mysql

cp ./support-files/my-default.cnf my.cnf

然後編輯mysql添加如下選擇:

basedir = /mysql

datadir = /data

port    = 3306

socket  = /mysql/mysql.scok

更改目前的目錄的許可權

chown  -R mysql .

chgrp  -R mysql .

初始化資料目錄

scripts/mysql_install_db --user=mysql

4.2     最後更改安裝目錄許可權

也可以不更改

 

4.3     啟動mysql伺服器

shell> bin/mysqld_safe --user=mysql &

4.4     測試mysql伺服器

shell> bin/mysqladmin version

shell> bin/mysqladmin variables

 

 

4.5     初始化mysql帳號

    mysql安裝完後,有root使用者和匿名戶,root使用者沒有密碼,匿名使用者表示任何人都可以串連上mysql,這是安全的。

    查看這些使用者的語句如下:

mysql> SELECT User, Host, Password FROM mysql.user;

 

因此我們需要給root使用者佈建密碼,給匿名使用者設定密碼,或者刪除匿名使用者。

4.5.1     給root使用者佈建密碼

方法一.

使用set命令為上邊的每一個使用者佈建密碼。

SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘111111‘);
set password for ‘root‘@‘mysql.localdomain‘=password(‘111111‘);
set password for ‘root‘@‘127.0.0.1‘=password(‘111111‘);
SET PASSWORD FOR ‘root‘@‘::1‘ = PASSWORD(‘111111‘);

 

方法二:

我們也可以通過一條命令搞定。

UPDATE mysql.user SET Password = PASSWORD(‘new_password‘)   WHERE User = ‘root‘;
FLUSH PRIVILEGES;

   flush privileges是告訴伺服器去重讀授權表,否則設定的使用者名稱密碼只有到mysql伺服器重啟後才可以生效。

方法三.

我們也可以通過mysqladmin來給root使用者修改密碼

mysqladmin -u root password "new_password"
mysqladmin -u root -h host_name password "new_password"
 
4.5.2     給匿名使用者設定密碼

方法一.

set password for ‘‘@‘localhost‘=password(‘111111‘);
set password for ‘‘@‘mysql.localdomain‘=password(‘111111‘);

方法二.

UPDATE mysql.user SET Password = PASSWORD(‘new_password‘) WHERE User = ‘‘;
FLUSH PRIVILEGES;
4.5.3     刪除匿名使用者
DROP USER ‘‘@‘localhost‘;
DROP USER ‘‘@‘ mysql.localdomain ‘;
5       test安全問題

   預設情況下,mysql.db表裡含了一些行,這些行定義了任何使用者都可以訪問test資料庫,或者以test_開頭的資料庫,這是安全的,應該移除。

DELETE FROM mysql.db WHERE Db LIKE ‘test%‘;
DELETE FROM mysql.db WHERE Db LIKE ‘test%‘;

或者刪除test資料庫,不建立以test開頭的資料庫。

源碼編譯安裝mysql

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.