Cent OS 6.5 安裝mysql 64位
這個大部分借鑑於 菜鳥驛站 http://www.runoob.com/linux/mysql-install-setup.html
因為這個安裝過程中會遇到一些問題,而且隨著版本更替,可能這個會找不到了,所以提取過來,放在這裡。其中,還有一些自己遇到的問題,也記錄下來。宣告一點,儘量原樣操作,避免錯誤。
1 安裝配置和連結庫檔案
yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel 安裝CMAKE 編譯工具
wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
如果請求有問題,可以加一個避免條件
wget --no-check-certificate http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
2、解壓安裝包
$ tar zxvf cmake-3.1.1.tar.gz
3、進入安裝包目錄
$ cd cmake-3.1.1
4、編譯安裝
$ ./bootstrap
$ make && make install
MYSQL安裝
MySQL版本:mysql-5.6.15。
1、下載地址: http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
$ wget --no-check-certificate http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
2、解壓安裝包
$ tar zxvf mysql-5.6.15.tar.gz
3、進入安裝包目錄
$ cd mysql-5.6.15
4、編譯安裝
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306 $ make && make install
5、檢視mysql版本:
$ /usr/local/webserver/mysql/bin/mysql --version
到這裡Mysql 安裝完成了,剩下就是配置。
MySQL 配置
1、建立mysql執行使用的使用者mysql:
$ /usr/sbin/groupadd mysql
$ /usr/sbin/useradd -g mysql mysql
2、建立binlog和庫的儲存路徑並賦予mysql使用者許可權
$ mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
$ chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/
3、建立my.cnf配置檔案
將/etc/my.cnf替換為下面內容 //這裡 有坑。
$ cat /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /www/data_mysql
log-error = /usr/local/webserver/mysql/mysql_error.log
pid-file = /usr/local/webserver/mysql/mysql.pid
open_files_limit = 65535
back_log = 600
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 600
#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
default-tmp-storage-engine=MYISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 128M
max_heap_table_size = 128M
log-slave-updates
log-bin = /usr/local/webserver/mysql/binlog/binlog
binlog-do-db=oa_fb
binlog-ignore-db=mysql
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
relay-log = /usr/local/webserver/mysql/relaylog/relaylog
expire_logs_days = 10
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
interactive_timeout = 120
wait_timeout = 120
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
#master-host = 192.168.1.2
#master-user = username
#master-password = password
#master-port = 3306
server-id = 1
loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0
slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
long_query_time = 1
[mysqldump]
quick
max_allowed_packet = 32M
4、初始化資料庫 //這個地方容易會有各種找不到檔案的錯誤。 對於裡面出現的--basedir的提示
參考這條命令:
/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/webserver/mysql
--user=mysql
$/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
顯示如下資訊:
Installing MySQL system tables...2015-01-26 20:18:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
OK
Filling help tables...2015-01-26 20:18:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
OK
...
5、建立開機啟動指令碼
$ cd /usr/local/webserver/mysql/
$ cp support-files/mysql.server /etc/rc.d/init.d/mysqld
$ chkconfig --add mysqld
$ chkconfig --level 35 mysqld on
6、啟動mysql伺服器
$ service mysqld start
如果這裡表明缺失一個mysql.pid檔案,到那個目下,用touch 命名 建立這個問價。 輸入數字(它表明程序號):如9987 儲存退出。
7、連線 MySQL
這裡報錯 比如會有/tmp/mysql.sock (111)錯誤。 我的解決辦法low得不行,用桌面進去開啟這個檔案,發現一個Install 檔案,把它手動安裝,然後重啟機子:reboot。
$ /usr/local/webserver/mysql/bin/mysql -u root -p
修改MySQL使用者密碼
mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
或進入mysql命令列
SET PASSWORD FOR 使用者名稱@主機 = PASSWORD(‘密碼');
SET PASSWORD FOR [email protected]=PASSWORD('123456');
修改環境變數:
永久: vim /etc/profile