本文目錄一覽:
- 1、centos7怎樣安裝mysql服務器
- 2、如何在centos7中裝mysql
- 3、centos下怎麼源碼安裝mysql
- 4、centos7下重啟mysql失敗
- 5、如何在centos7中安裝mysql
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-hant/n/313780.html