1. 程式人生 > 其它 >centos7安裝mysql5.7.11

centos7安裝mysql5.7.11

安裝必要的元件
yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel

碰到這種,輸入y即可

下載mysql
wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
cd /usr/local/
解壓   tar zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz 
重新命名  mv mysql
-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql
進入安裝資料夾下的support-files
cd /usr/local/mysql/support-files/
cp my-default.cnf /etc/my.cnf   
將mysql配置檔案拷貝到etc下,提示檔案已經存在輸入yes
vi /etc/my.cnf 
編輯配置檔案 新增在[mysqld]下方即可
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default
-character-set=utf8mb4
為避免登入時出現提示:mysql: [ERROR] unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES' 需要在/etc/my.cnf檔案中禁用或刪除掉sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 複製mysql.server 到/etc/init.d/ 目錄下【目的想實現開機自動執行效果】
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
修改如下內容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
建立Linux新使用者
groupadd mysql #建立一個mysql的組
useradd -r -g mysql mysql #建立mysql使用者,並且把使用者放到mysql組
passwd mysql (mysql123) #給mysql使用者設定一個密碼
chown -R mysql:mysql /usr/local/mysql/ 給目錄/usr/local/mysql 更改擁有者
初始化 mysql 的資料庫 進入mysql的bin
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
記錄生成的密碼(參考下圖選中部分) 給資料庫加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
啟動mysql(為了不讓程序卡主,可在啟動mysql的命令後加上&代表此程序在後臺執行)
./mysqld_safe --user=mysql &
檢視程序
ps -ef|grep mysql
保證在bin目錄下
cd /usr/local/mysql/bin/
./mysql -uroot -p (輸入臨時密碼)
./mysql -uroot -p -ou_UC0-j=f* (輸入臨時密碼)
修改密碼
set password=password('/* RZXrzx1218*/'); 

這裡我設定了密碼,請自行更換

授權遠端訪問
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY 'RZXrzx1218' WITH GRANT OPTION;

這裡的密碼請自行替換

use mysql;  // 進入資料庫
select host,user from user; 【多出1條遠端登入使用者記錄】
執行重新整理
mysql>flush privileges; 
在Linux命令列中將3306埠開啟例外
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
firewall-cmd --zone=public --add-port=3306/tcp --permanent 重啟後不失效
firewall-cmd --reload

這裡我直接關閉了防火牆,不需要設定,如需要請自行設定

設定開機自啟動 新增服務mysql
chkconfig --add mysql
設定mysql服務為自動
chkconfig mysql on
重啟檢視程序
ps -ef|grep mysql
將mysql新增到環境變數 修改/etc/profile檔案使其永久性生效,並對所有系統使用者生效,在檔案末尾加上如下兩行程式碼
vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin
export PATH
執行 命令source /etc/profile或 執行點命令 ./profile使其修改生效,執行完可通過echo $PATH命令檢視是否新增成功。
source /etc/profile或 ./profile
echo $PATH
忘記mysql密碼時修改密碼 1.修改MySQL的登入設定:
vim /etc/my.cnf
在[mysqld]的段中加上一句:
skip-grant-tables
2.重新啟動mysql service mysql restart 3.登入並修改MySQL的root密碼
 use mysql;
update mysql.user set authentication_string=password('RZXrzx1218') where user='root'; 
flush privileges;
quit
4.將MySQL的登入設定修改回來
vim /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables註釋 儲存並且退出vim 5.重新啟動mysql
service mysql restart

密碼修改成功