centos7安裝mysql5.7.11
阿新 • • 發佈:2021-06-18
安裝必要的元件
yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel
碰到這種,輸入y即可
下載mysqlwget 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進入安裝資料夾下的support-files-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql
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為避免登入時出現提示: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/ 目錄下【目的想實現開機自動執行效果】-character-set=utf8mb4
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
這裡我直接關閉了防火牆,不需要設定,如需要請自行設定
設定開機自啟動 新增服務mysqlchkconfig --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-tables2.重新啟動mysql service mysql restart 3.登入並修改MySQL的root密碼
use mysql;
update mysql.user set authentication_string=password('RZXrzx1218') where user='root';
flush privileges;
quit4.將MySQL的登入設定修改回來
vim /etc/my.cnf將剛才在[mysqld]的段中加上的skip-grant-tables註釋 儲存並且退出vim 5.重新啟動mysql
service mysql restart
密碼修改成功