Linux系統:CentOS-6.5_x64 依賴包:yum install gcc gcc-c++ ncurses-devel perl cmake
groupadd mysql useradd -r -g mysql mysql passwd mysql
使用mysql用戶登陸mysql
mkdir -p /home/mysql/dbmysql
mkdir -p /home/mysql/data
tar -zxvf mysql-5.6.27.tar.gz cd mysql-5.6.27
cmake \ -DCMAKE_INSTALL_PREFIX=/home/mysql/dbmysql \ -DMYSQL_UNIX_ADDR=/home/mysql/dbmysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/home/mysql/data/ \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=0
參數 | 註釋 |
---|---|
-DCMAKE_INSTALL_PREFIX=dir_name | 設置mysql安裝目錄 |
-DMYSQL_UNIX_ADDR=file_name | 設置監聽套接字路徑,這必須是一個絕對路徑名。默認爲/tmp/mysql.sock |
-DDEFAULT_CHARSET=charset_name | 設置服務器的字符集。缺省狀況下,MySQL使用latin1的(CP1252西歐)字符集。cmake/character_sets.cmake文件包含容許的字符集名稱列表。 |
-DDEFAULT_COLLATION=collation_name | 設置服務器的排序規則。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 | 存儲引擎選項:MyISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,並不須要明確地安裝。靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE= 1可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) |
-DMYSQL_DATADIR=dir_name | 設置mysql數據庫文件目錄 |
-DMYSQL_TCP_PORT=port_num | 設置mysql服務器監聽端口,默認爲3306 |
-DENABLE_DOWNLOADS=bool | 是否要下載可選的文件。例如,啓用此選項(設置爲1),cmake將下載谷歌所使用的測試套件運行單元測試。 |
注:從新運行配置,須要刪除CMakeCache.txt文件linux
rm CMakeCache.txt
make
make install
cd /home/mysql/dbmysql scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data/
sudo cp /home/mysql/dbmysql/support-files/my-default.cnf /etc/my.cnf
注:c++
vim /etc/sudoers 添加 mysql ALL=(ALL) ALL
sudo cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/profile export PATH=/home/mysql/dbmysql/bin:/home/mysql/dbmysql/lib:$PATH
source /etc/profile
service mysqld start sudo chkconfig mysqld on
netstat -tulnp | grep 3306 mysql -u root -p
說明:密碼爲空,若是能登錄上,則安裝成功sql
mysql> set password=password('123456');
mysql> use mysql mysql> desc user; mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; mysql> update user set Password = password('123456') where User='root'; mysql> select Host,User,Password from user where User='root'; mysql> flush privileges; mysql> exit
vim /etc/my.cnf [client] password = 123456 port = 3306 socket = /home/mysql/dbmysql/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /home/mysql/dbmysql/mysql.sock character_set_server=utf8 character_set_client=utf8 collation-server=utf8_general_ci #(注意linux下mysql安裝完後是默認:表名區分大小寫,列名不區分大小寫; 0:區分大小寫,1:不區分大小寫) lower_case_table_names=1 #(設置最大鏈接數,默認爲 151,MySQL服務器容許的最大鏈接數16384; ) max_connections=1000 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] default-character-set = utf8