MySQL的安裝 (4,5,6可省略) 聲明:CentOS版本為7.6,安裝的MySQL版本為8.0.17 1. 首先要卸載掉本機自帶的mysql相關,包括MariaDB。 shell rpm pa | grep mysql 將搜到的結果使用 刪除掉,沒有就跳過 rpm pa | grep mari ...
MySQL的安裝 (4,5,6可省略)
聲明:CentOS版本為7.6,安裝的MySQL版本為8.0.17
1. 首先要卸載掉本機自帶的mysql相關,包括MariaDB。
rpm -pa | grep mysql #將搜到的結果使用`rm -rf 文件名` 刪除掉,沒有就跳過
rpm -pa | grep mariadb #將搜到的結果使用`rm -rf 文件名` 刪除掉,沒有就跳過
find / -name mysql #查找並刪除相關文件夾,沒有就跳過(同上)
find / -name mariadb #查找並刪除相關文件夾,沒有就跳過(同上)
2. 備份centOS的預設repo源,下載阿裡雲或者網易的repo源替換預設源。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3. 清理yum,創建yum緩存。
sudo yum clean all
sudo yum makecache
4. 查看軟體源倉庫中mysql相關內容
yum repolist | grep mysql
5. 查看對應版本的mysql是否啟用
cat /etc/yum.repos.d/mysql-community
6. 將需要安裝的版本設置為啟用狀態(我這裡安裝的是mysql社區版8.0版本)
yum-config-manager --enable mysql80-comminity
7. 執行安裝
yum install mysql-community-server.x86_64
8. 查看mysql運行狀態,剛安裝預設為未啟動狀態
# 查看MySQL服務運行狀態,active表示已啟動,inactive表示未啟動,failed表示啟動失敗
systemctl status mysqld.service
# 啟動MySQL服務
systemctl start mysqld.service
# 停止MySQL服務
systemctl stop mysqld.service
# 重新啟動MySQL服務
systemctl restart mysqld.service
9. 查看初始密碼
剛安裝的新版本mysql會自動生成一個臨時密碼,保存在`/etc/log/mysqld.log`
cat /var/log/mysqld.log | grep "password"
10.使用初始密碼登錄
複製上一步的密碼,輸入`mysql -uroot -p密碼`,或者先不輸入密碼按回車,在提示地方粘貼密碼(密碼不顯示,粘貼一次就行了)。
11. 修改初始密碼
show databases;
use mysql;
# 如將密碼改成 NewPassword! ,為了安全儘量包含大小寫字母數字加符號
alter 'user'@'localhost' identified by 'NewPassword!';
12. 修改訪問許可權,使其能遠程連接
update user set Host='%' where User='root' and Host='localhost';
13. 刷新許可權
flush privileges;
14. 新建用戶
create user 用戶名 identified by '密碼';
# 比如創建用戶同時指定可以訪問的主機,以及指定其可以訪問的資料庫表和對應的許可權
create user 用戶名@'主機名' identified by '密碼';
grant select, update, create, delete on 資料庫名.表名 to 用戶名;
15. 賦予許可權,記得刷新許可權才會生效
grant select on 資料庫名.表名 to 用戶; # 所有許可權可以使用 all
flush privileges;
MySQL備份
備份:數據表結構+數據
mysqdump -u root db1 > db1.sql -p;
備份:數據表結構
mysqdump -u root -d db1 > db1.sql -p;
導入現有的數據到某個資料庫
先創建一個新的資料庫
create database db10;
將已有的資料庫文件導入到db10資料庫中
mysqdump -u root -d db10 < db1.sql -p;
==註意==
==如果資料庫報錯:==
==“Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.”==
解決辦法:
資料庫初始化:
rm -rf /var/log/mysql.log
rm -rf /var/ib/mysql
本文結合自己實際操作中遇到的問題和在網路上搜集的解決方案而作,在此對各位提供了幫助的朋友表示感謝!