源碼編譯安裝mysql

來源:互聯網
上載者:User

標籤:groups   mysql   使用者   

mysql 5.5.8要使用cmake編譯1)建立使用者# useradd -r -s /sbin/nologin mysql# id mysqluid=101(mysql) gid=101(mysql) groups=101(mysql)# chown -R mysql.mysql /data/mysql/
說明:# which cmake/usr/local/bin/cmake
2)編譯cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

3)初始化mysql# chown -R :mysql . (與二進位安裝略有不同,二進位安裝時,屬主和屬組為root,此處編譯後,屬主和屬組為mysql)
# scripts/mysql_install_db --user=mysql --datadir=/data/mysql/

4)設定檔# cp support-files/my-large.cnf /etc/my.cnf在[mysqld]中增加,指定資料庫的路徑datadir = /data/mysql
5)服務指令碼# cp support-files/mysql.server /etc/init.d/mysqld安裝完成後注意事項
1)刪除匿名使用者(否則導致系統漏洞)mysql> use mysql;
mysql> select user,host,password from user;
其中有兩個匿名使用者
 
  1. +------+-----------------------+-------------------------------------------+
  2. | user | host                  | password                                  |
  3. +------+-----------------------+-------------------------------------------+
  4. | root | localhost             | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
  5. | root | localhost.localdomain | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
  6. | root | 127.0.0.1             | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
  7. | | localhost | |
  8. | | localhost.localdomain   |                                                 |
  9. +------+-----------------------+-------------------------------------------+
mysql> drop user ‘‘@‘localhost‘;Query OK, 0 rows affected (0.00 sec)mysql> drop user ‘‘@‘localhost.localdomain‘;Query OK, 0 rows affected (0.00 sec)
2)為root使用者增加密碼(在mysql用戶端中,命令不區分大小寫)方法1# mysqladmin -u USERNAME -h HOSTNAME password ‘NEW_PASS‘ -p方法2mysql> SET PASSWORD FOR ‘USERNAME‘@‘HOST‘=PASSWORD(‘new_pass‘); 方法3mysql> update user set password=password(‘hiayng‘) where user=‘root‘;
select user,host,password from user;

3)在家目錄下建立如下檔案,注意許可權,可以免輸入密碼[client]user=rootpassword=hiyanghost=127.0.0.1C/S通訊方式在同一台主機 使用mysql.socket通訊在不同主機TCP/IP通訊
MyISAM儲存的表包含3個檔案    .frm:表結構定義檔案    .MYD:表資料    .MYI:表索引

InnoDB儲存的表包含3個檔案    所有表共用一個資料表空間檔案;    建議:每表一個獨立的資料表空間檔案;但有些新特性不支援    .frm: 表結構    .ibd: 資料表空間(表資料和表索引)
為每個表設定獨立的資料表空間1)查看,innodb_file_per_table未開啟
 
  1. mysql> show variables like "%innodb_file%";
  2. +--------------------------+----------+
  3. | Variable_name | Value |
  4. +--------------------------+----------+
  5. | innodb_file_format | Antelope |
  6. | innodb_file_format_check | ON |
  7. | innodb_file_format_max | Antelope |
  8. | innodb_file_per_table | OFF |
  9. +--------------------------+----------+
2)編輯設定檔# vim /etc/my.cnf在[mysqld]下增加
 
  1. innodb_file_per_table = 1
3)測試將測試reload不會生效,必須重啟
 
  1. # service mysqld restart
如下
 
  1. mysql> show variables like "%innodb_file%";
  2. +--------------------------+----------+
  3. | Variable_name            | Value    |
  4. +--------------------------+----------+
  5. | innodb_file_format       | Antelope |
  6. | innodb_file_format_check | ON       |
  7. | innodb_file_format_max   | Antelope |
  8. | innodb_file_per_table    | ON       |
  9. +--------------------------+----------+
建立InnoDB表(5.5.8後預設建立表是InnoDB格式的)mysql> create database mydb;
mysql> use mydb;Database changedmysql> create table test_tb(id int not null,name char(30));

# ls ./mydbdb.opt  test_tb.frm  test_tb.ibd# 當前表使用的字元集和定序# cat db.opt default-character-set=utf8default-collation=utf8_general_ci

來自為知筆記(Wiz)

源碼編譯安裝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.