標籤:adb data 遠端連線 最新版 mysql8 mysqldump 退出 tab 匯入資料庫
Mysql8.0.12
- 基本操作
解釋 |
命令 |
安裝服務端 |
yum install mysql-community-server |
啟動 |
service mysqld start/restart |
停止 |
service mysqld stop |
因為CentOS7預設安裝的是mariadb資料庫,所以
- 首先移除
yum remove mariadb-libs.x86_64
- 下載Mysql源
https://dev.mysql.com/downloads/repo/yum/
,這個網站上找到對應的連結,然後在/tmp目錄下通過wget下載就可以了
- 安裝源
yum localinstall mysql80-munity-release-el7-8.noarch.rpm
- 安裝Mysql
yum install mysql-community-server
- 預設密碼
cat /var/log/mysqld.log | grep "password"
,就會看到預設的密碼
- 登陸資料庫
mysql -uroot -p上面看到的密碼
,此時就會進入資料庫
使用預設密碼登陸
- 首先要重設密碼mysql> SET PASSWORD = PASSWORD(‘123456‘); //123456 是重設的新密碼 ,但是這樣就會又報錯,說的是密碼太簡單了,這個時候就設定一個帶有大小寫+數字+特殊符號的就可以了
- 如果一定要設定簡單的,那麼需要修改這兩個參數:mysql> set global validate_password_policy=0; mysql> set global validate_password_length=1; ,這個時候再設定簡單的也就可以了
- 注意:經過一下午的時間才知道上面的方法已經不行了,首先使用
ALTER user ‘root‘@‘localhost‘ IDENTIFIED BY ‘Cliu123#‘
,來進行修改密碼,密碼不要太簡單,然後重新登陸,執行這三個命令
use mysql;ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘新密碼‘;FLUSH PRIVILEGES;
- 因為這個是mysql的最新版本,詳情看這裡
https://www.jb51.net/article/142025.htm
遠端連線
- 首先進入到資料庫中
show databases
;查看資料庫,然後進入到mysql資料庫中,use mysql
;,查看資料表:show tables
; 然後找到user表,查看裡面的資料select * from user \G
,此時會看到好多資料,我們這裡只需要查看Host、User,所以select Host,user from user \G
,就可以看到了
- 這個時候就會看到一條User=root的記錄,這個Host後面的值為本機,為了能夠遠端存取資料庫,把這個Host改為要訪問的地址,這裡為了都能訪問就改成
update user set Host = "%" where Host = "localhost" and User = "root";
,然後重啟伺服器,或者是許可權重新整理 mysql>flush privileges
; 最後關閉防火牆service firewalld stop
- 此時在本機就可以遠端連線到這個資料庫了
配置預設編碼utf8,這個看個人需要
- 在
vim/etc/my.cnf
,在[mysqld]下添加編碼配置,如下所示:
[mysqld]character_set_server=utf8init_connect=‘SET NAMES utf8‘
- 重新啟動mysql服務,查看資料庫預設編碼如下所示
show variables like ‘%character%‘
:
- 預設設定檔路徑
設定檔 |
/etc/my.cnf |
記錄檔 |
/var/log//var/log/mysqld.log |
服務啟動指令碼 |
/usr/lib/systemd/system/mysqld.service |
socket檔案 |
/var/run/mysqld/mysqld.pid |
開啟genelog
- 首先進入到資料庫中
mysql -uroot -p
,然後進設定general log儲存路徑msyql> set global general_log_file="/tmp/general.log";
- 注意在Linux中只能設定到
/tmp
或 /var
檔案夾下,設定其他路徑出錯
- 設定開啟
mysql>set global general_log=on;
- 關閉
mysql>set global general_log=off;
- 此時對資料庫進行操作的話,每一條命令記錄都會到上面的檔案中去,
tail -f /tmp/general.log
就會看到每一條操作資料庫的命令
建立使用者
- 首先進入到資料庫中
mysql -uroot -p
,,然後mysql> create user ‘imooc‘@‘%‘ identified by ‘123456‘;
,其中的%表示允許所有使用者登陸,後面設定的是密碼,此時會說密碼過於簡單,這個時候和上面的操作一樣,看注意就行了
- 此時使用終端遠端連線的時候就能使用這個imooc這個帳號的了,但是用這個帳號登陸,會少很多許可權
- 提權
grant all privileges on *.* ‘imooc‘@‘%‘ identified by ‘123456‘ with grant option;
這條命令就是把這個imooc使用者提全部的許可權,然後重新整理許可權
- 或者只賦予查詢的許可權`
grant select on *.* ‘imooc‘@‘%‘ identified by ‘123456‘ with grant option;
,每次操作記得要重新整理許可權
- 收回所有的許可權
revoke all privileges on *.* FROM imooc;
忘記root密碼
- 開啟這個檔案
/etc/my.cnf
,在最後一行加入一行代碼skip-grant-tables
- 進入到資料庫,這個時候不用密碼就可以進了,然後
use mysql
,輸入下面的命令update user set authentication_string=password(‘456789‘) where user=‘root‘;
,重新整理許可權,退出
- 然後把第一步加入的代碼去掉,然後再進入資料庫,此時輸入第二步設定的密碼就會登陸成功
匯入匯出資料庫
- 匯出資料庫:
mysqldump -u 資料庫連結使用者名稱 -p 目標資料庫 > 儲存的檔案名稱
,然後斷行符號輸入密碼就可以了 ,就像mysqldump -u root -p abc >abc.sql
,檔案會直接在當前的目錄下
- 匯入資料庫
mysql -u 使用者名稱 -p 資料庫名 < 資料庫名.sql
,就像mysql -u abc -p abc < abc.sql
,注意sql檔案必須在目前的目錄下,如果不在目前的目錄下需要在< 之後加上具體sql檔案路徑
Linux-Mysql8.0