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=utf8
init_connect='SET NAMES utf8'
- 從新啓動mysql服務,查看數據庫默認編碼以下所示
show variables like '%character%'
:

- 默認配置文件路徑
日誌文件 |
/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文件路徑