作者:Grey
原文地址:
CentOS 版本:CentOS 7
下載地址:CentOS 7
安裝方法見:Linux 安裝,快照,克隆
MySQL 版本:MySQL 8.0.30
下載地址見: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/
注:其中/data/mysql
是存放 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++
如果安裝比較慢,可以設定阿里雲的映象地址:CentOS 映象
將下載好的 MySQL 安裝包上傳至伺服器的/usr/local/
目錄下並解壓,並將解壓後的 mysql 安裝目錄中的內容放入/usr/local/mysql
目錄下
#> cd /usr/local/
#> tar -xf mysql-8.0.30-linux-glibc2.17-x86_64-minimal.tar.xz
#> mv mysql-8.0.30-linux-glibc2.17-x86_64-minimal/* mysql/
#> /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
初始化完畢,會列印如下紀錄檔資訊
2022-10-05T09:24:34.206466Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2022-10-05T09:24:34.206531Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 1533
2022-10-05T09:24:34.222068Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-10-05T09:24:34.868013Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-10-05T09:24:35.827528Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
MySQL 的組態檔預設位置是/etc/my.cnf
,關於組態檔的說明見:option-files
修改設定之前,一個比較好的習慣的是先備份設定
#> 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
default_authentication_plugin=mysql_native_password
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
my.cnf 檔案的更多設定引數見:mysql-options
設定環境變數並應用環境變數
#> echo "export 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
這樣就可以通過如下命令進行 MySQL 的啟動了
#> service mysqld restart
#> chkconfig --level 345 mysqld on
安裝完畢後,root
使用者預設沒有密碼,可以通過如下命令登入並修改root
使用者密碼
#> mysql -u root -p
按回車,即可無密碼登入,可以通過如下命令建立使用者
建立一個使用者名稱為 dump 的使用者,密碼初始化為 1234(可根據自定義需求修改)
mysql> create user 'dump'@'%' identified by '1234';
賦予許可權,並設定可存取的 ip(可根據自定義需求修改)
mysql> grant all privileges on *.* to 'dump'@'%';
mysql> flush privileges;
如果要遠端存取 MySQL,作業系統需要開啟 MySQL 的預設 3306 埠的存取許可權
#> firewall-cmd --zone=public --add-port=3306/tcp --permanent
#> firewall-cmd --reload
接下來,可以通過 MySQL 使用者端連線驗證
推薦這一款免費開源的 MySQL 使用者端:HeidiSQL
如果要完全解除安裝 MySQL,可以通過如下的方式:
停止服務
#> 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`
批次刪除。
本文來自部落格園,作者:Grey Zeng,轉載請註明原文連結:https://www.cnblogs.com/greyzeng/p/16756049.html