MySQL的安裝和配置


作者:Grey

原文地址: MySQL的安裝和配置

環境

操作系統版本:CentOS 7

MySQL版本:mysql-8.0.27-linux-glibc2.17-x86_64-minimal.tar.xz

MySQL下載地址

新建用戶和用戶組

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

准備必要文件夾並賦予相應的權限

准備必要文件夾

mkdir -p /usr/local/mysql /data/mysql/

給用戶賦予相應的權限

chown -R mysql.mysql /usr/local/mysql/
chown -R mysql.mysql /data/mysql/
chmod -R 755 /data/mysql/
chmod -R 755 /usr/local/mysql/

安裝必要依賴

yum -y install wget gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel git bison
yum install -y centos-release-scl-rh 
yum install -y centos-release-scl
yum install -y devtoolset-10-gcc 
yum install -y devtoolset-10-gcc-c++

上傳並解壓MySQL安裝包

mysql-8.0.27-linux-glibc2.17-x86_64-minimal.tar.xz上傳至服務器的/usr/local/目錄下並解壓

cd /usr/local/
tar -xf mysql-8.0.27-linux-glibc2.17-x86_64-minimal.tar.xz

將解壓后的mysql安裝包放入/usr/local/mysql目錄下

cd /usr/local
mv mysql-8.0.27-linux-glibc2.17-x86_64-minimal/* mysql/

初始化

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

【可選】修改mysql配置

備份配置

cd /etc
cp my.cnf my.cnf.backup

/etc/my.cnf內容替換為如下內容:

[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
#user=root
#password=123
[mysqld]
server-id=1
#skip-grant-tables
port=3306
user=mysql
log_bin=mysql-bin
binlog_format=mixed
max_connections=200
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
pid-file=/data/mysql/mysql.pid
init-connect='SET NAMES utf8'
character-set-server=utf8
default-storage-engine=INNODB
log_error=/data/mysql/mysql-error.log
slow_query_log_file=/data/mysql/mysql-slow.log
[mysqldump]
quick
max_allowed_packet=16M

注:這步是可選的,也可以根據需要自定義配置。

配置環境變量和啟動腳本

環境變量

echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile

應用環境變量

source /etc/profile

配置啟動腳本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

給啟動腳本賦予可執行權限

chmod +x /etc/init.d/mysqld

啟動

service mysqld restart

【可選】增加到開機啟動

chkconfig --level 345 mysqld on

【可選】新建一個用戶並賦予權限

安裝完畢后,root默認沒有密碼,可以通過如下命令登錄並修改root密碼

mysql -u root -p

按回車,即可無密碼登錄

可以通過如下命令創建用戶

例如:我們創建的用戶名/密碼:young/0320

create user 'young'@'%' identified by '0320';

賦予權限

grant all privileges on *.* to 'young'@'%';
flush privileges;

開通相關端口

如果要遠程訪問mysql,操作系統需要打開MySQL的默認3306端口的訪問權限

firewall-cmd --zone=public --add-port=3306/tcp --permanent  
firewall-cmd --reload

卸載

如果要完全卸載Linux,可以通過如下的方式:

停止服務

service mysqld stop

然后執行

find / -name mysql

找到所有mysql相關的文件夾

/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/include/mysql
/data/mysql
/data/mysql/mysql

然后執行 rm -rf 刪掉這些文件即可。

當然你確保

find / -name mysql

出來的文件沒有需要保留的文件,也可以執行

rm -rf `find / -name mysql`

批量刪除

參考文檔

Installing MySQL Using a Standard Source Distribution

Centos7源碼編譯安裝mysql8

CentOS7.2 源碼安裝MySQL8.0

linux設置mysql開機啟動


免責聲明!

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



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