centos7.6與windows安裝mysql與項目應(yīng)用注意情況

安裝與創(chuàng)建遠程登陸

首先:一般CentOS默認安裝了mariadb派哲,所以先查看是否安裝mariadb皂吮,如果安裝就需要先卸載mariadb

rpm -qa|grep mariadb
rpm -e mariadb-libs --nodeps

1.png

然后:*在/usr/local/目錄下創(chuàng)建mysql文件夾

cd /cd usr/localmkdir mysql`
2019111910233120.png

  1. 進入mysql文件夾內(nèi),下載mysql
cd mysql wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
  1. 解壓mysql到當(dāng)前目錄
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
2019111910233122.png
  1. 安裝mysql越平,依次執(zhí)行下列命令
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force  
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force 
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force
2019111910233123.jpg
  1. 初始化和相關(guān)啟動服務(wù)配置匈庭,依次執(zhí)行下列命令
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

如果執(zhí)行mysqld --initialize; 出現(xiàn)以下報錯,先執(zhí)行yum -y install numactl甜攀,再執(zhí)行 yum install -y libaio,再執(zhí)行mysqld --initialize

11.png

如果執(zhí)行systemctl start mysqld.service; 出現(xiàn)以下報錯秋泄,先執(zhí)行tail -f /var/log/mysqld.log查看錯誤日志
12.png

如果錯誤日志如下,執(zhí)行cd /var/lib/mysql规阀,執(zhí)行rm -rf *刪除所有文件恒序,再執(zhí)行systemctl start mysqld.service
2019111910233126.png

  1. 查看數(shù)據(jù)庫初始化密碼
cat /var/log/mysqld.log | grep password

  1. 修改密碼,密碼需要數(shù)字谁撼,大小寫字母歧胁,特殊符號
 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';

設(shè)置密碼永不過期.一定要記得執(zhí)行下面代碼刷新MySQL的系統(tǒng)權(quán)限相關(guān)表

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; 
flush privileges; 
  1. 創(chuàng)建遠程訪問用戶,依次執(zhí)行下列命令
create user 'root'@'%' identified with mysql_native_password by 'xxxxx';grant all privileges on *.* to 'root'@'%' with grant option;flush privileges;

vmware中的Centos 7.6安裝mysql

  1. 下載mysql https://downloads.mysql.com/archives/community/2023.3現(xiàn)在還能打開彤敛。
    dde893e374bc901ab63d2077ed36d69b_1993414-20221111150449631-1264230631.png
  2. 放到服務(wù)器后解壓-C 放到指定文件夾,進入/usr/local把解壓的目錄更改一下名字
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz  -C /usr/local
cd /usr/local
mv mysql-8.0.30-linux-glibc2.12-x86_64    mysql
  1. 創(chuàng)建mysql 用戶和用戶組
>groupadd mysql
>useradd -r -g mysql mysql
  1. 創(chuàng)建數(shù)據(jù)文件夾data与帆,并給權(quán)限
>  mkdir -p /usr/local/data
# 給mysql用戶權(quán)限
> chown -R mysql:mysql /usr/local/data
> chmod -R 755 /usr/local/data
  1. 給mysql的log目錄權(quán)限
chown -R mysql:mysql /var/log
  1. 修改mysql配置文件 vi /etc/my.cnf
[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/data
socket=/tmp/mysql.sock
#socket=/data/mysql/mysql.sock
log-error=/var/log/mysql.err
pid-file=/var/log/mysql.pid
##character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1
~                          
  1. 初始化mysql
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/data/ --user=mysql --initialize

  1. 查看mysql臨時密碼,并查看進程
cat /var/log/mysql.err
ps -ef|grep mysql
761da139e846d2a94d2a9e0660ef99dc_1993414-20221111153039064-469286312.png
  1. 登錄mysql并設(shè)置遠程登錄功能,修改root密碼。
    方式一:
bin]#./mysql -u root -p
password:隨機密碼
# 修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xiong';
# 刷新權(quán)限
FLUSH PRIVILEGES;
#設(shè)置遠程登錄
mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit

方式二:創(chuàng)建root另一個用戶%表示所有ip都可登錄

> CREATE USER 'root'@'%' IDENTIFIED BY '123456';
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

> FLUSH PRIVILEGES;
use mysql;
>update user set user.Host='%' where user.User='root';
>flush privileges;

rpm格式的5.x版本的mysql安裝示例
1.下載MySQL-5.5.56-1.el7.x86_64.rpm-bundle.tar
----本人已在csdn下載了墨榄,放在了百度網(wǎng)盤中玄糟。
2.tar -xvf解壓產(chǎn)生很多rpm式的文件,我們只安裝server ,client.

rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
//會有很多提示袄秩,要安裝依賴包阵翎,要什么我們裝什就完事了
yum install -y ***

3.查看安裝成功否

rpm -qa|grep -i mysql

云主機上的問題

  1. 問題一
Starting MySQL. ERROR! The server quit without updating PID file (/var/log/mysql.pid).

項目應(yīng)用情況注意:

  1. IDEA中mysql8.x注意時區(qū)設(shè)置問題,不設(shè)置容易出錯之剧。
    11 查看時區(qū)
    show VARIABLES like '%time_zone%';

    image.png

    time_zone: 表示 MySQL 采用的是系統(tǒng)的時區(qū)郭卫。也就是說,如果在連接時沒有設(shè)置時區(qū)信息背稼,就會采用這個時區(qū)配置贰军。
    12僅修改當(dāng)前會話的時區(qū),停止會話失效(CET)

     set time_zone = '+8:00';
    

13 修改全局的時區(qū)配置

    set globaltime_zone = '+8:00';
    flush privileges;

大多數(shù)時候用到13.

windows安裝mysql

  1. 下載下載地址:https://dev.mysql.com/downloads/mysql/
    image.png
  2. 解壓到安裝目錄蟹肘,在安裝目錄新建data目錄和my.ini配置文件词疼,并配置環(huán)境變量


    image.png

    my.ini文件

  # 設(shè)置3306端口
    port=3306
    # 設(shè)置mysql的安裝目錄
    basedir=D:\\soft\\mysql-8.0.27-winx64
    # 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
    datadir=D:\\soft\\mysql-8.0.27-winx64\\data
    # 允許最大連接數(shù)
    max_connections=30
    # 允許連接失敗的次數(shù)。這是為了防止有人從該主機試圖攻擊數(shù)據(jù)庫系統(tǒng)
    max_connect_errors=10
    # 服務(wù)端使用的字符集默認為UTF8
    character-set-server=utf8
    # 創(chuàng)建新表時將使用的默認存儲引擎
    default-storage-engine=INNODB
    [mysql]
    # 設(shè)置mysql客戶端默認字符集
    default-character-set=utf8
    [client]
    # 設(shè)置mysql客戶端連接服務(wù)端時默認使用的端口
    port=3306
    default-character-set=utf8

在環(huán)境變量中新建:MYSQL_HOME帘腹,在path中加入:%MYSQL_HOME%\bin

image.png

image.png

  1. 以管理員的身份打開cmd窗口跳轉(zhuǎn)路徑到D:\soft\mysql-8.0.27-winx64\bin
    在窗口輸入:mysqld --initialize --user=mysql --console贰盗,這一步會根據(jù)我們的配置文件初始化我們的mysql服務(wù)。最后可以看到阳欲,系統(tǒng)給我們分配了一個默認密碼舵盈,記住這個密碼陋率,非常重要,后續(xù)會用到
    image.png

    輸入mysqld -install進行服務(wù)的添加秽晚。
    (如果這一步報:Install/Remove of the Service Denied问顷,就表示你沒有用管理員身份打開cmd井誉,C:\Windows\System32\cmd.exe用管理員身份啟動即可解決)
    mysql服務(wù)佳遂。最后可以看到落恼,系統(tǒng)給我們分配了一個默認密碼,記住這個密碼扯再,非常重要芍耘,后續(xù)會用到。
    image.png

    輸入mysqld -install進行服務(wù)的添加熄阻。
    (如果這一步報:Install/Remove of the Service Denied斋竞,就表示你沒有用管理員身份打開cmd,C:\Windows\System32\cmd.exe用管理員身份啟動即可解決)
    image.png

    輸入net start mysql啟動服務(wù)秃殉。
    image.png

    輸入mysql -u root -p進行登錄數(shù)據(jù)庫坝初,這時提示需要密碼,然后就是用你上面的默認密碼登錄钾军。
    修改密碼語句:ALTER USER root@localhost IDENTIFIED BY '你的密碼'; 鳄袍。
    輸入:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
    然后輸入FLUSH PRIVILEGES;
    這兩句是為了讓你navicat連的時候,不報1251錯誤的吏恭。
  2. windows 配置mysql允許遠程登陸拗小。
    1.----連接Mysql (連接方式:mysql -u 你設(shè)置的用戶名 -p你設(shè)置的密碼 )
    2.----查看數(shù)據(jù)庫:show databases;我們會看到有一個叫做"mysql"的數(shù)據(jù)庫,這里我們輸入: use mysql 進入'mysql'數(shù)據(jù)庫中
    3.----執(zhí)行 GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '你設(shè)置的密碼' WITH GRANT OPTION;
    若出現(xiàn)ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    解決方案:
    執(zhí)行一次:mysql> flush privileges;
    然后再執(zhí)行:GRANT ALL Privileges....語句。
    重啟一下mysql服務(wù)
    注意:如果是云主機樱哼,遠程不能連接哀九,那么可能是,防火墻規(guī)則沒有放行3306端口搅幅。我們要添加允許3306端口放行數(shù)據(jù)阅束。
    image.png

4.----刷新, FLUSH PRIVILEGES;

centos 7安裝mysql 5.7

下載需要的tar文件
你可以選擇在官網(wǎng)下載你需要的包,或者使用我提供的網(wǎng)盤連接進行下載茄唐。筆者使用的版本在之前已經(jīng)介紹息裸,為5.7.38。如果你使用其他的版本可能會出現(xiàn)一些問題沪编。比如5.7.22呼盆,說實話我失敗了。

卸載mysql
嗯哼漾抬?嗯哼宿亡?嗯哼常遂? 對纳令,你的電腦可能確實安裝了關(guān)于mysql,建議檢查一遍,如果安裝必須刪除平绩。不然報錯圈匆!報錯!錯D蟠啤T咀!P允N嘲痢!
先判斷是否安裝rpm快速包肤频,如果存在就需要刪除

rpm -qa | grep mysql
# 刪除指令
rpm -e --nodeps <列出的數(shù)據(jù)> [列出的數(shù)據(jù)...]

往往這么刪除是不夠了叹括,還需要查詢系統(tǒng)里面關(guān)于mysql的文件如果你通過以上指令出現(xiàn)的結(jié)果多了,請通過rm -ef <文件名>刪除多出的文件夾宵荒,如果你/usr/lib64/mysql文件不僅有plugin也請直接刪除汁雷。

[root@musiro ~]# find / -name mysql
> /usr/lib64/mysql
> /etc/selinux/targeted/active/modules/100/mysql
[root@musiro ~]# ls /usr/lib64/mysql
> plugin

安裝幾個需要的依賴

gzip:用于第一步解壓
perl libaio:mysql-server安裝需要的依賴
yum install -y gzip perl libaio;

上傳文件并解壓文件
筆者將文件上傳到/home/mysql/文件夾下,注意mysql的安裝根文件的位置毛關(guān)系沒有报咳。所以放在你習(xí)慣的地方即可侠讯。解壓文件

gzip mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar;
tar -zxvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar.gz

f579283136e75812441085da65f07133_2711625-20220913204608910-42974848.png

安裝rpm文件
一定要注意順序,順序不對會報錯暑刃。

rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm mysql-community-libs-5.7.38-1.el7.x86_64.rpm mysql-community-client-5.7.38-1.el7.x86_64.rpm mysql-community-server-5.7.38-1.el7.x86_64.rpm
# 如果出問題你就一個一個安裝
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm;

如果安裝的8.x版本厢漩,安裝順序為:

common
client-plugins
libs
client
icu-data-files
server

啟動mysql
直接啟動,千萬不要玩花里胡哨的,比如初始化,授權(quán)等等岩臣,如果報錯了讓你知道什么叫做問題黑洞袁翁。

systemctl start mysqld

連接數(shù)據(jù)庫

[root@musiro ~]# grep "password" /var/log/mysqld.log
[root@musiro ~]# mysql -uroot -p
右鍵粘貼即可,看不到的婿脸,后續(xù)操作要重設(shè)密碼粱胜,密碼不能設(shè)置太簡單了,我是Xiong1983.包括一個點狐树。
ALTER USER 'root'@'localhost' IDENTIFIED WITH  mysql_native_password BY 'Xiong1983.';

修改簡單密碼
如果你只是學(xué)習(xí)的目的使用mysql焙压,不想設(shè)置復(fù)雜的mysql。OK這一步能夠滿足你的需求抑钟。先查看一下密碼設(shè)置的要求

SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    | 名字檢測
| validate_password_dictionary_file    |        | 字典文件
| validate_password_length             | 8      | 長度
| validate_password_mixed_case_count   | 1      | 字母
| validate_password_number_count       | 1      | 數(shù)字
| validate_password_policy             | MEDIUM | 難度
| validate_password_special_char_count | 1      | 字符
+--------------------------------------+--------+
- LOW -> 只有長度限制
- MEDIUM -> 除了字典文件其他都限制
- STRONG -> 全部

直接修改涯曲,只是臨時起作用,重啟系統(tǒng)在塔,還是會恢復(fù)的幻件。

set global validate_password_length = 5;
set global validate_password_policy = 0;

必須要寫入/etc/my.cnf配置文件例才能永久生效

vi /etc/my.cnf在[mysqld]下加如下兩行代碼
---------------------------------------------------------------------------------------------------
validate_password_policy=0
validate_password_length=5

這樣我們就可以改自已設(shè)的定碼了,十分爽

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xiong';

遠程連接數(shù)據(jù)庫

update user set host='%' where user='root';
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛔溃,一起剝皮案震驚了整個濱河市绰沥,隨后出現(xiàn)的幾起案子篱蝇,更是在濱河造成了極大的恐慌,老刑警劉巖徽曲,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件零截,死亡現(xiàn)場離奇詭異,居然都是意外死亡秃臣,警方通過查閱死者的電腦和手機涧衙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奥此,“玉大人弧哎,你說我怎么就攤上這事≈苫ⅲ” “怎么了傻铣?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長祥绞。 經(jīng)常有香客問我非洲,道長,這世上最難降的妖魔是什么蜕径? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任两踏,我火速辦了婚禮,結(jié)果婚禮上兜喻,老公的妹妹穿的比我還像新娘梦染。我一直安慰自己,他們只是感情好朴皆,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布帕识。 她就那樣靜靜地躺著,像睡著了一般遂铡。 火紅的嫁衣襯著肌膚如雪肮疗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天扒接,我揣著相機與錄音伪货,去河邊找鬼。 笑死钾怔,一個胖子當(dāng)著我的面吹牛碱呼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宗侦,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼愚臀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了矾利?” 一聲冷哼從身側(cè)響起姑裂,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤馋袜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后炭分,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡剑肯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年捧毛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片让网。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡呀忧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出溃睹,到底是詐尸還是另有隱情而账,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布因篇,位于F島的核電站泞辐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏竞滓。R本人自食惡果不足惜咐吼,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望商佑。 院中可真熱鬧锯茄,春花似錦、人聲如沸茶没。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抓半。三九已至喂急,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笛求,已是汗流浹背煮岁。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留涣易,地道東北人画机。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像新症,于是被迫代替她去往敵國和親步氏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容