閱讀702 返回首頁    go 阿裏雲 go 技術社區[雲棲]


ubuntu 安裝mysql 5.5.28 編譯安裝 innodb 配置

安裝環境:ubuntu 桌麵版12.10

安裝版本:mysql-5.5.28.tar.gz

使用root用戶安裝

su root
在出現的提升中輸入密碼

1.安裝必備工具

1.1.安裝cmake編譯器

apt-get install cmake

1.2.安裝libncurses5-dev包

apt-get install libncurses5-dev

1.3.安裝bison

apt-get install bison

1.4 安裝g++

apt-get install g++

2.安裝mysql

2.1 下載mysql

cd /usr/local/src
wget https://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz/from/https://cdn.mysql.com/ -O mysql-5.5.28.tar.gz

2.2 添加必要的組和擁有者

groupadd mysql
useradd -r -g mysql mysql

2.3 解壓MySQL
tar -zvxf mysql-5.5.28.tar.gz

2.4、配置編譯
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
cd /usr/local/src/mysql-5.5.28

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_DATADIR=/usr/local/mysql/data \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1

make
make install

參數說明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安裝目錄
-DINSTALL_DATADIR=/usr/local/mysql/data         //數據庫存放目錄
-DDEFAULT_CHARSET=utf8                        //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci            //校驗字符
-DEXTRA_CHARSETS=all                            //安裝所有擴展字符集
-DENABLED_LOCAL_INFILE=1                        //允許從本地導入數據

注意事項:

如果出現錯誤,重新編譯時,需要清除舊的對象文件和緩存信息(以下命令)。 
 rm -f  CMakeCache.txt

2.5、設置目錄權限

 cd /usr/local/mysql
 chown -R mysql:mysql . //把當前目錄中所有文件的所有者所有者設為root,所屬組為mysql

2.6、配置文件
 cp support-files/my-medium.cnf /etc/my.cnf //這個配置僅適合小內存係統(32M - 64M)

打開如下注釋(紅色字體必改):
[mysqld]
default-character-set = utf8   #添加編碼支持

long_query_time=1#查詢語句最長時間記錄查詢SQL語句日誌
log-slow-queries=/usr/local/mysql/data/query.log

max_connections = 10000     #根據服務器性能調節
basedir = /usr/local/mysql #設置安裝目錄,這樣在係統啟動時才能正確運行到/etc/rc.d/init.d/mysql start
log-error=/usr/local/mysql/data/error.log     #錯誤日誌
innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:1G:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_open_files=300

[client] 
default-character-set = utf8    #添加編碼支持


說明(本部分紅色字體隻是說明):

2.61、innodb_buffer_pool_size = 4G
#InnoDB用於緩存數據、索引、鎖、插入緩衝、數據字典等
#如果是專用的DB服務器,且以InnoDB引擎為主的場景,通常可設置物理內存的50%
#如果是非專用DB服務器,可以先嚐試設置成內存的1/4,如果有問題再調整
#默認值是8M,非常坑X,這也是導致很多人覺得InnoDB不如MyISAM好用的緣故
2.62、innodb_data_file_path = ibdata1:1G:autoextend
#InnoDB共享表空間初始化大小,默認是 10MB,也非常坑X,改成 1GB,並且自動擴展

2.63、innodb_log_buffer_size = 64M
#InnoDB的log buffer,通常設置為 64MB 就足夠了

2.64、innodb_log_file_size = 256M
#InnoDB redo log大小,通常設置256MB 就足夠了

2.65、innodb_log_files_in_group = 2
#InnoDB redo log文件組,通常設置為 2 就足夠了

2.66、innodb_file_per_table = 1
#啟用InnoDB的獨立表空間模式,便於管理

2.67、innodb_status_file = 1
#啟用InnoDB的status file,便於管理員查看以及監控等


2.7、設置啟動腳本

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


2.8、創建係統數據庫的表

 cd /usr/local/mysql
 ./scripts/mysql_install_db --user=mysql --ldata=/usr/local/mysql/data

2.9、啟動數據庫

/etc/init.d/mysqld start

3、給linux默認mysql設置root密碼,開啟遠程訪問

3.1、登錄(默認沒有密碼的,直接回車)

/usr/local/mysql/bin/mysql -u root -p
3.2、運行命令(123456就是設置的新密碼)

方法一

mysql>use mysql;
mysql>UPDATE user SET Password = password ( '123456' ) WHERE User = 'root' ;

方法二

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

然後刷新緩存

mysql>flush privileges;

3.3、開啟遠程訪問

方法一

mysql>grant all privileges on *.* to 'root' @'%' identified by '123456';
mysql>flush privileges;

方法二

use mysql;
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
注意退出mysql命令是

mysql>quit;


4、最後重新啟動一下

/etc/init.d/mysqld restart

數據庫命令,開啟,關閉,重啟

/etc/init.d/mysqld start
/etc/init.d/mysqld stop
/etc/init.d/mysqld restart

相關數據庫命令:在 後麵增加|more #逐頁顯示,空格下一頁

Mysql> show status ——顯示狀態信息(擴展show status like ‘XXX’)

Mysql> show variables ——顯示係統變量(擴展show variables like ‘XXX’)

Mysql> show innodb status ——顯示InnoDB存儲引擎的狀態

Mysql> show processlist ——查看當前SQL執行,包括執行狀態、是否鎖表等

Shell> mysqladmin variables -u username -p password——顯示係統變量

Shell> mysqladmin extended-status -u username -p password——顯示狀態信息


參考:

https://www.cnblogs.com/chenjunbiao/archive/2011/01/24/1940256.html

https://deeplyloving.iteye.com/blog/1542234

最後更新:2017-04-02 00:06:51

  上一篇:go C#判斷漢字的個數
  下一篇:go linux文件搜索查找命令