Linux-Mysql8.0

Mysql8.0.12

  1. 基本操做
解釋 命令
安裝服務端 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
  • 安裝Mysqlyum 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=utf8
init_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文件路徑
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息