centos7mysql源碼的簡單介紹

本文目錄一覽:

centos7怎樣安裝mysql伺服器

本人博客供參考

網頁鏈接

下載mysql源安裝包shell wget  

安裝mysql源shell yum localinstall mysql57-community-release-el7-8.noarch.rpm 

檢查mysql源是否安裝成功 

yum repolist enabled | grep 「mysql.-community.」 

 

安裝MySQL 

yum install mysql-community-server 

啟動MySQL服務 

shell systemctl start mysqld 

查看MySQL的啟動狀態 

shell systemctl status mysqld 

開機啟動 

shell systemctl enable mysqld 

shell systemctl daemon-reload 

修改root本地登錄密碼 

mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。通過下面的方式找到root默認密碼,然後登錄mysql進行修改: 

shell grep 『temporary password』 /var/log/mysqld.log 

 

shell mysql -uroot -p 

mysql ALTER USER 『root』@』localhost』 IDENTIFIED BY 『MyNewPass4!』; 

或者: 

mysql set password for 『root』@』localhost』=password(『MyNewPass4!』); 

注意:mysql5.7默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤 

添加遠程登錄用戶 

默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql,必須修改root允許遠程連接,或者添加一個允許遠程連接的帳戶,為了安全起見,我添加一個新的帳戶: 

mysql GRANT ALL PRIVILEGES ON . TO 『yangxin』@』%』 IDENTIFIED BY 『Yangxin0917!』 WITH GRANT OPTION;

以上部分個人實踐過,以下內容待實踐

資料庫存emoji 表情問題

mysql SHOW VARIABLES WHERE Variable_name LIKE 『character_set_%』 OR Variable_name LIKE 『collation%』; 

+————————–+——————-+ 

| Variable_name | Value | 

+————————–+——————-+ 

| character_set_client | utf8 | 

| character_set_connection | utf8 | 

| character_set_database | latin1 | 

| character_set_filesystem | binary | 

| character_set_results | utf8 | 

| character_set_server | latin1 | 

| character_set_system | utf8 | 

| collation_connection | utf8_general_ci | 

| collation_database | latin1_swedish_ci | 

| collation_server | latin1_swedish_ci | 

+————————–+——————-+ 

10 rows in set (0.02 sec) 

可以看到我的mysql版本是5.7的,utf8mb4有一個使用限制,mysql版本必須是5.5以上,大家需要注意,我目前用的ubuntu系統是16.04的。當前mysql的字符集配置如上表,我們的目的是更改成utf8mb4。 

3.找到mysql的配置文件,可用命令 

sudo find / -name my.cnf 

我的配置文件位置如下,個別的位置有所不同 

/etc/mysql/mysql.conf.d/mysqld.cnf

4.修改配置文件 

在原文中添加以下內容: 

[client] 

default-character-set = utf8mb4 

[mysql] 

default-character-set = utf8mb4 

[mysqld] 

character-set-client-handshake = FALSE 

character-set-server = utf8mb4 

collation-server = utf8mb4_unicode_ci 

init_connect=』SET NAMES utf8mb4』 

原文件中無「[client]」和「[mysql]」,需要手動添加上。 

……

Here is entries for some specific programs

The following values assume you have at least 32M ram

[client] 

default-character-set = utf8mb4 

[mysql] 

default-character-set = utf8mb4 

[mysqld_safe] 

socket = /var/run/mysqld/mysqld.sock 

nice = 0 

[mysqld] 

#

* Basic Settings

user = mysql 

pid-file = /var/run/mysqld/mysqld.pid 

socket = /var/run/mysqld/mysqld.sock 

port = 3306 

basedir = /usr 

datadir = /var/lib/mysql 

tmpdir = /tmp 

lc-messages-dir = /usr/share/mysql 

skip-external-locking 

character-set-client-handshake = FALSE 

character-set-server = utf8mb4 

collation-server = utf8mb4_unicode_ci 

init_connect=』SET NAMES utf8mb4』 

#

Instead of skip-networking the default is now to listen only on

……

5.重啟mysql服務 

sudo service mysql restart

6.查看結果 

mysql SHOW VARIABLES WHERE Variable_name LIKE 『character_set_%』 OR Variable_name LIKE 『collation%』; 

ERROR 2006 (HY000): MySQL server has gone away 

No connection. Trying to reconnect… 

Connection id: 3 

Current database: * NONE * 

+————————–+——————–+ 

| Variable_name | Value | 

+————————–+——————–+ 

| character_set_client | utf8mb4 | 

| character_set_connection | utf8mb4 | 

| character_set_database | utf8mb4 | 

| character_set_filesystem | binary | 

| character_set_results | utf8mb4 | 

| character_set_server | utf8mb4 | 

| character_set_system | utf8 | 

| collation_connection | utf8mb4_unicode_ci | 

| collation_database | utf8mb4_unicode_ci | 

| collation_server | utf8mb4_unicode_ci | 

+————————–+——————–+ 

10 rows in set (0.00 sec)

如何在centos7中裝mysql

運行mysql.server腳本,mysql.server腳本通過調用mysqld_safe啟動伺服器,該腳本可以通過參數start和stop指定啟動還是關閉。mysql.server腳本在MySQL安裝目錄下的share/mysql目錄中,如果是採用源碼安裝的MySQL,則可以在support-files目錄里找到。如果想使用mysql.server,則必須把它複製到合適的運行級別目錄中。

如上配置之後,就可以利用以下命令啟動和關閉MySQL實例。

執行命令:

service mysqld start就啟動了。

centos下怎麼源碼安裝mysql

方法/步驟

通過yum install mysql命令進行安裝MySQL客戶端

類似的,使用yum install mysql-server命令安裝MySQL 服務。

運行命令chkconfig –levels 235 mysqld on使MySQL服務可以自動啟動,並使用命令/etc/init.d/mysqld start立刻啟動MySQL服務

設置MySQL的root密碼,運行命令/usr/bin/mysqladmin -u root password ‘new-password’,其中』new-password』是新設的密碼,如123456

centos7下重啟mysql失敗

1、通過rpm包安裝的MySQL

service

mysqld

restart

/etc/inint.d/mysqld

start

2、從源碼包安裝的MySQL

//

linux關閉MySQL的命令

$mysql_dir/bin/mysqladmin

-uroot

-p

shutdown

//

linux啟動MySQL的命令

$mysql_dir/bin/mysqld_safe

其中mysql_dir為MySQL的安裝目錄,mysqladmin和mysqld_safe位於MySQL安裝目錄的bin目錄下。

3、以上方法都無效的時候,可以通過強行命令:「killall

mysqld」來關閉MySQL。

如何在centos7中安裝mysql

1、Centos 7 默認不支持mysql (都是因為錢),所以centos 7默認支持的是mariadb

何為mariadb?

MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕鬆成為MySQL的代替品。在存儲引擎方面,使用XtraDB來代替MySQL的InnoDB。 MariaDB由MySQL的創始人Michael Widenius主導開發,他早前曾以10億美元的價格,將自己創建的公司MySQL AB賣給了SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自Michael Widenius的女兒Maria的名字。

說到這,我個人強烈推薦大家開始學習MariaDB,當然由於我們一些項目還是要用mysql的,所以不能放棄。真不難學。

接下來 我講一下centos 7對mysql的安裝過程

1、如果一定要在centos 7上安裝mysql ,需要卸載MariaDB,否則會衝突。

2、執行這個命令:rpm -qa | grep mariadb

3、這時會出現一些列表,都是mariadb的包,接下來我們要幹掉

4、執行如下命令rpm -e –nodeps mariadb-libs-XXXXX.x86_64 (注意我這裡的xxxx, 要根據第三步出現的列表 ,挨個干)

5、幹完後,就可以安裝mysql了。

6、去度娘搜索mysql的rpm包,一大把。我用的是5.6.22 .(找不到的,問我要)

ww

這裡需要安裝 至少2個,1個是mysql-server-xxxx.rpm (這個就是服務端), 還有一個是mysql-client-xxxx.rpm(這個是客戶端,不想裝?不裝的話你沒法初始化root密碼,求懂)

7、執行 rpm -ivh 「上面兩個文件名 」

8、這樣就裝好了。

9、然後 執行:service mysql start (如果OK,說明裝好了)

10、再然後執行:service mysql stop (不要問為什麼,因為默認root沒有密碼,你進不去,所以接下來我們要繞過密碼登錄)

11、執行這個命令:mysqld_safe –user=mysql –skip-grant-tables –skip-networking mysql -u root mysql (也就是,老子不用密碼直接登錄,這時mysql服務必須關閉狀態)

12、然後執行這個命令:UPDATE user SET Password=PASSWORD(『XXXXX』) where USER=』root』; 這裡就是對root賬號初始化密碼,xxx自行改,不要忘了。忘掉的話就要用第11步初始化(誰說沒有密碼就不能進mysql?)

13、然後執行 flush privileges; (注意不要忘記最後的分號,必須有,不要問為什麼)

14、然後輸入quit; 退出mysql客戶端。

15、重新啟動mysql,命令:service mysql start

16、然後用root賬號登錄 命令:mysql -u root -p (接下來會提示你輸入密碼,此時屏幕不可見,不要以為死機了)

17、這時隨便執行一個sql,譬如 show databases;

18、這時會報錯,大約是You must SET PASSWORD before executing this statement .其實就是我們常見的:第一次登錄需要改密碼,

19、那我們就改一改吧,反正不會懷孕

20、執行 SET PASSWORD = PASSWORD(『xxxx』); 注意分號,也可以把密碼跟上面搞得一樣。

21、然後再去執行 一些sql,看看對不對。對的話quit;

22、最後,我們最好吧mysql重啟一下. service mysql restart

23、然後配置遠程可以連接(注意剛才我們都是在本機操作的哦~~~~)

24、依然mysql -u root -p 輸入密碼後登入

25、執行:GRANT ALL PRIVILEGES ON *.* TO 『root』@』%』 IDENTIFIED BY 『這裡填你的密碼』 WITH GRANT OPTION; (這裡root@後面的百分號代表全宇宙都可以連接你的mysql,只要知道密碼) ,如果是僅僅允許某個IP連接,那麼把這個百分號換成某個ip即可

26 、FLUSH PRIVILEGES; 並且退出

27、保險起見,再重啟mysql服務

好吧,OK了。接下來大家可以用navicate 去連接啦

原創文章,作者:VGAVO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313780.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VGAVO的頭像VGAVO
上一篇 2025-01-07 09:44
下一篇 2025-01-07 09:44

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 源碼是什麼

    源碼是一段計算機程序的原始代碼,它是程序員所編寫的可讀性高、理解性強的文本。在計算機中,源碼是指編寫的程序代碼,這些代碼按照一定規則排列,被計算機識別並執行。 一、源碼的組成 源碼…

    編程 2025-04-27
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27

發表回復

登錄後才能評論