centos安裝mysql的三種方式


centos安裝mysql的三種方式:
rpm安裝、源碼 二進制TAR包 又稱二進制glibc(無需編譯)、源碼 TAR包 (要編譯)

下面只介紹rpm安裝和二進制glibc安裝


方法一:配置yum倉庫安裝(和方法二原理一樣,都是rpm安裝)

1、下載安裝yum倉庫
```
yum -y install https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
```
2、安裝
```
yum -y install mysql-community-server
```
3、啟動
```
systemctl start mysqld
```
4、查看狀態
```
systemctl status mysqld
```
5、查看初始密碼
```
grep 'temporary password' /var/log/mysqld.log
```
6、登錄測試(用初始化密碼)
```
mysql -uroot -p
```
7、修改root登錄密碼
```
ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼';
flush privileges;
```
8、允許root遠程訪問
```
update mysql.user set host = '%' where user ='root';
```

方法二:下載rpm包安裝

1、下載安裝包
官網
[https://downloads.mysql.com/archives/community/](https://downloads.mysql.com/archives/community/)
```
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
```
國內鏡像站(中國科學技術大學鏡像站)
[http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/](http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/)
```
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
```
2、解壓
```
tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
```
3、安裝(各個rpm是有依賴的,所以要按順序安裝)
```
(1)rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm
(2)rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm
如果報錯:
error: Failed dependencies:
mariadb-libs is obsoleted by mysql-community-libs-8.0.20-1.el7.x86_64
執行:yum -y remove mysql-libs再繼續安裝
(3)rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm
(4)rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm
如果報錯:
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-8.0.20-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.20-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.20-1.el7.x86_64
執行:yum -y install libaio再繼續安裝
```
4、啟動
```
systemctl start mysqld
```
5、查看狀態
```
systemctl status mysqld
```
6、查看初始密碼
```
grep 'temporary password' /var/log/mysqld.log
```
7、登錄測試(用初始化密碼)
```
mysql -uroot -p
```
8、修改root登錄密碼
```
ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼';
flush privileges;
```
9、允許root遠程訪問
```
update mysql.user set host = '%' where user ='root';
```

方法三:源碼 二進制TAR包 又稱二進制glibc 安裝

1、下載二進制glibc包
官網
[https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/)(選擇對應版本mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz)
```
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
```
國內鏡像站(中國科學技術大學鏡像站)
```
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
```
2、解壓
```
tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
```
3、將解壓目錄移動到自定義目錄,並改名
```
mv mysql-8.0.21-linux-glibc2.12-x86_64 /usr/local/mysql
```
4、創建用戶組和用戶
```
groupadd mysql
useradd -r -g mysql mysql
```
5、創建配置文件
```
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql # 基本路徑
datadir=/usr/local/mysql/data #數據路徑 (先在/usr/local/mysql建data目錄)
socket=/usr/local/mysql/data/mysql.sock # socket文件
symbolic-links=0
log-error=/usr/local/mysql/data/mysqld.log #錯誤日志
pid-file=/usr/local/mysql/data/mysqld.pid #pid文件
[mysql]
socket=/usr/local/mysql/data/mysql.sock
```
6、配置環境變量
```
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export MYSQL_PATH=$MYSQL_HOME/bin
export PATH=$PATH:$MYSQL_PATH

source /etc/profile
```
7、初始化
```
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
報錯:
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
原因:缺少libaio庫文件
解決:執行yum install libaio* -y 再重新初始化
```
8、修改屬主屬組
```
chown -R mysql:mysql /usr/local/mysql
```
9、配置服務管理
```
cd /usr/local/mysql/support-files/
mv mysql.server /etc/init.d/mysqld
```
10、啟動,設置密碼
因為沒有初始密碼,用跳過授權表的方式來啟動mysql
```
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
```
免密登錄
```
mysql -uroot -p 不需要輸入密碼直接回車
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼';
```
11、重啟驗證密碼
```
service mysqld restart
service mysqld status
```
12、允許root遠程訪問
```
mysql -uroot -p

update mysql.user set host = '%' where user ='root';
```


免責聲明!

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



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