Centos7安裝mysql5.7,最新解決辦法
阿新 • • 發佈:2018-12-31
問題描述:
伺服器環境如下
- centos7.4
- mysql5.7
下載並解壓mysql5.7
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#解壓檔案 -zxvf(至小威風) 看到某人的部落格裡是這樣記 o(∩_∩)o 哈哈
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#move移動到mysql檔案
mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql
2、配置檔案
#編輯並檢視
vi /mysql/support-files/my-default.cnf
主要配置basedir和datadir目錄的路徑。按照我們安裝mysql的路徑填寫
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It‘s a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[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 = /usr/local/mysql
datadir = /usr/local/mysql/data
# 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
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
建立一個使用者負責管理mysql
#建立一個mysqlGroup組
groupadd mysqlGroup
#建立一個mysql使用者並放到mysqlgroup組內
useradd -r -g mysqlgroup mysql
#設定mysql使用者的密碼
passwd mysql
#更改mysql擁有者
chown -R mysql:mysqlgroup /user/local/mysql/
3、 初始化
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
**#初始化後會生成一個臨時密碼 [email protected]::*(最好先記錄這個臨時密碼)**
#啟動mysql
./support-files/mysql.server start
#將mysql程序放入系統程序中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
#.重新啟動mysql服務,命令如下:
service mysqld restart
#檢查mysql是否啟動
ps -ef|grep mysql
**有程序代表成功安裝了。**
4、設定開機自啟動
#複製mysql/support-files/mysql.server到/etc/init.d/目錄下(目的想實現開機自動執行效果)
cp mysql.server /etc/init.d/mysql
#修改mysql引數
vim /etc/init.d/mysql
#修改為以下內容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
#新增mysql服務
chkconfig --add mysql
#設定mysql服務為自啟動
chkconfig mysql on
5、配置環境變數
vim /etc/profile
#最後一行加上
export PATH=$JAVA_HOME/bin;/usr/local/mysql/bin;$PATH
#儲存退出後,修改生效
source /etc/profile
6、登陸並修改密碼
#使用隨機密碼登入mysql資料庫,命令如下:
mysql -u root -p
## 等待系統提示,輸入隨機密碼(上面記錄的密碼),即可登入
#更改root使用者的密碼為123456
alter user 'root'@'localhost' identified by '123456';
#選擇mysql資料庫
use mysql;
#更改mysql可被所有host訪問
update user set user.Host='%' where user.User='root';
#重新整理許可權
flush privileges;
6、遠端訪問
#將3306開啟
#因為centos7防火牆改為firewall
firewall-cmd --zone=public --add-port=3306/tcp --permanent
service firewalld restart
#檢視firewall開發的埠
firewall-cmd --zone=public --list-port
這裡提醒下,如果遠端訪問不了,還可能是伺服器商的安全組未開啟3306埠。(如果是阿里雲,到控制檯例項的安全組配置規則即可)
常見問題
1.-bash: mysql: command not found
#原因:這是由於系統預設會查詢/usr/bin下的命令,如果這個命令不在這個目錄下。
#當然會找不到命令,我們需要做的就是對映一個連結到/usr/bin目錄下,相當於建立一個連結檔案。
ln -s /usr/local/mysql/bin/mysql /usr/bin