mysql5.7靜默安裝


mysql版本:mysql-5.7.22-linux-glibc2.12-x86_64
  查看系統中是否已安裝mariadb 服務

rpm -qa | grep mariadb

  卸載 mariadb及其依賴的包

yum -y remove mariadb-libs-5.5.44-2.el7.centos.x86_64

  防火牆設置

查看防火牆狀態
systemctl status firewalld
關閉防火牆
systemctl stop firewalld
查看防火牆是否開機自啟
systemctl is-enabled firewalld.service;echo $?
禁止防火牆開機啟動
systemctl disable firewalld

  上傳MySQL安裝文件

將mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz文件上傳到/usr/local/目錄下解壓
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
將文件重命名
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql

  添加用戶和組

groupadd mysql
useradd mysql -g mysql

要是再Ubuntu下添加用戶、組,則使用如下命令:

useradd -d "/home/mysql" -m -s "/bin/bash" mysql

  創建數據目錄並賦予權限
  在系統根目錄下創建data目錄和mysql目錄

mkdir -p /data/mysql

  授權並查看授權信息

chown mysql:mysql -R /data/mysql

  配置my.cnf參數

在/etc目錄下創建my.cnf文件,並進行配置:

[mysqld]
basedir=/opt/software/mysql
datadir=/data/mysql
socket=/opt/software/mysql/mysql.sock
user=mysql
port=3306
character-set-server=utf8mb4
# cancle password
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
port=3306
socket=/opt/software/mysql/mysql.sock

需要注意,創建的該文件不能是777權限,否則mysql會認為誰都能修改風險很高,配置的信息都會失效,直接提示[Warning] World-writable config file '/etc/my.cnf' is ignored.

  初始化配置

/opt/software/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/opt/software/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
注意:如果是報錯或者重新初始化,需要清空/data/mysql/下的文件。

  開啟服務

將mysql加入服務
cp /opt/software/mysql/support-files/mysql.server /etc/init.d/mysql
設置開機自啟
chkconfig mysql on
開啟數據庫服務
service mysql start
查看服務
chkconfig --list 看到對應服務名的3 4 5為open 或者 on 即可

  修改密碼

/opt/software/mysql/bin/mysql -u root -p
>>use mysql;
>>update user set authentication_string=password('你的密碼') where user='root';
>>flush privileges;
>>exit;

mysql8版本開始修改密碼命令,登錄mysql,不要執行use mysql;先執行修改密碼命令:
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密碼";
或者
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密碼';

重啟mysql服務
service mysql restart

  這是空密碼進入,修改好密碼之后,就用新的密碼登錄,同時將my.cnf文件中的skip-grant-tables注釋掉

[mysqld]
basedir=/opt/software/mysql
datadir=/data/mysql
socket=/opt/software/mysql/mysql.sock
user=mysql
port=3306
character-set-server=utf8mb4
# cancle password
#skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

重啟mysql服務
service mysql restart

  允許遠程連接

/opt/software/mysql/bin/mysql -u root -p
>>use mysql;
>>update user set host='%' where user = 'root';
>>flush privileges;
>>exit;

  配置mysql環境變量

 ln -s /opt/software/mysql/bin/mysql /usr/bin

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM