1. 程式人生 > >Centos7安裝mysql5.7,最新解決辦法

Centos7安裝mysql5.7,最新解決辦法

問題描述:

伺服器環境如下

  • 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