第一步:
下載MySQL安裝包,可以在官網(wǎng)直接下載汹胃,然后通過工具上傳到服務(wù)器婶芭;
也可以在服務(wù)器上面使用命令下載,進入/usr/local目錄着饥,命令如下犀农。
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
第二步:解壓,并重命名為mysql宰掉。
tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
第三步:創(chuàng)建mysql用戶和用戶組呵哨。
groupadd mysql
useradd -r -g mysql mysql
第四步:創(chuàng)建數(shù)據(jù)文件夾和日志文件夾及對應(yīng)的文件。
mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/logs
第五步:在/usr/local/mysql/logs目錄下轨奄,創(chuàng)建日志文件和pid文件孟害。
touch mysqld.log
touch mysqld.pid
第六步:重點在這里挪拟,授權(quán)纹坐,在/usr/local目錄下,執(zhí)行授權(quán)舞丛。如果不授權(quán),在啟動MySQL服務(wù)時會提示找不到pid等文件吨凑,其實問題就在于權(quán)限的缺失户辱。
chown -R mysql:mysql mysql/
chmod -R 755 mysql/
第七步:安裝并初始化,指定數(shù)據(jù)庫所屬用戶和數(shù)據(jù)目錄怠堪、基礎(chǔ)目錄。由于指定用戶為mysql,所有第六步尤為重要撒犀。
在初始化之后,命令行里面會有一個初始密碼,一定要記住,一會登錄MySQL需要用队询。
注意:執(zhí)行下面命令之前去/etc/目錄下查看是否有my.cnf配置文件蚌斩,如果有叠聋,刪除或者修改名字備份起來受裹!不然會出現(xiàn)各種PID或者SOCK有關(guān)的問題
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
第八步:進入/usr/local/mysql目錄,復制啟動腳本到資源目錄并授權(quán)照藻,然后將mysqld服務(wù)添加到系統(tǒng)服務(wù)囊骤。
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
第九步:將mysql命令添加到/usr/bin目錄也物,方便后期在服務(wù)器上面登錄數(shù)據(jù)可以可以直接使用mysql -uroot -p命令。
ln -s /usr/local/mysql/bin/mysql /usr/bin
到此坤次,數(shù)據(jù)庫的安裝就結(jié)束了缰猴,可以正常使用命令去訪問并修改密碼疑故,初始密碼即為第七步生成的一個字符串。
service mysql start mysql -uroot -p ALTER USER `root`@`localhost` IDENTIFIED BY 'newpassword';
flush privileges;
開啟遠程連接。
update user set host="%" where user="root";
flush privileges;
默認安裝下栽烂,沒有用到my.cnf配置文件腺办,所以第四步和第五步中創(chuàng)建的logs文件夾和mysqld.log躲履、mysqld.pid文件就沒有用到菱蔬。
但是在很多情況下都需要配置一下mysql,比如日志文件箭昵、pid文件茧跋、庫表不區(qū)分大小寫等等,這時候第四和第五步中的配置就起作用了贤笆。
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
skip-name-resolve
user = mysql
lower_case_table_names=1
default-storage-engine = InnoDB
explicit_defaults_for_timestamp = TRUE
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock
character-set-server=utf8
log-error=/usr/local/mysql/logs/mysqld.log
pid-file=/usr/local/mysql/logs/mysqld.pid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#innodb_data_file_path=ibdata1:2G:autoextend
#innodb_buffer_pool_size=51200M
#innodb_log_file_size=512M
#innodb_log_files_in_group=3
#max_connections=3000
max_connections=500
#max_user_connections=800
#innodb_file_per_table=ON
#innodb_flush_log_at_trx_commit=1
#innodb_flush_method=O_DIRECT
#innodb_log_buffer_size=16M
innodb_open_files=3000
關(guān)閉服務(wù),將該文件放置到/etc/目錄下或者/usr/local/mysql/目錄下沸版,啟動服務(wù)蕾殴。
service mysql stop;
service mysql start;
重點提醒茴肥,在使用my.cnf配置文件時,會有很多錯誤提示荡灾,比如pid文件缺失等瓤狐,主要問題就在意權(quán)限的缺失,所以在執(zhí)行完第四和第五步之后批幌,一定記得第六步授權(quán)础锐。