目錄 下載與安裝 1.方法一(本地翻牆) 2.方法二(本地不翻牆) 初始化和配置 1.初始化mysql 2.遠程訪問的設置 3.用戶組許可權的修改 4.開機重啟 ps:一般mysql安裝後會在/var/log/下麵生成一個mysqld.log文件,如果遇到啟動不了或者其他問題,基本都可以在這個log文 ...
目錄
- 下載與安裝
1.方法一(本地翻牆)
2.方法二(本地不翻牆) - 初始化和配置
1.初始化mysql
2.遠程訪問的設置
3.用戶組許可權的修改
4.開機重啟
ps:一般mysql安裝後會在/var/log/下麵生成一個mysqld.log文件,如果遇到啟動不了或者其他問題,基本都可以在這個log文件裡面找到錯誤原因
- 下載mysql和安裝
下載時自行前往下載,如果本地有翻牆條件,並且網速夠快的情況下,可以使用下麵的方法
二、先下載Linux下的Mysql包,打開Mysql官網 https://www.mysql.com/ 點擊DOWNLOAD,進入 https://www.mysql.com/downloads/
到頁面最底部,點擊社區版 community(GPL)Downloads>>,進入 https://dev.mysql.com/downloads/繼續點擊社區版伺服器,進入
https://dev.mysql.com/downloads/mysql/
三、選擇版本及系統,點擊右側的Download,進入頁面
四、最後開始下載
五、下載完成後的包列表,選擇版本不同,後面的版本號可能不同,這個沒有關係
陳列如下 mysql-community-client-8.0.16-2.el7.x86_64.rpm mysql-community-common-8.0.16-2.el7.x86_64.rpm mysql-community-devel-8.0.16-2.el7.x86_64.rpm mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm mysql-community-libs-8.0.16-2.el7.x86_64.rpm mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm mysql-community-server-8.0.16-2.el7.x86_64.rpm mysql-community-test-8.0.16-2.el7.x86_64.rpm
此方法來自https://www.cnblogs.com/lukefan/p/10406522.html如果本地沒有翻牆條件,請使用下麵的方法
一、獲取mysql YUM源 打開網址:https://dev.mysql.com/downloads/repo/yum/,選擇對應linux版本
點擊“No thanks, just start my download.”,進行下載
將下載地址複製,得到rpm包的地址
此方法來源https://www.cnblogs.com/lemon-feng/p/11233227.html這兩種方法的區別是是否要在伺服器上下載後面的安裝包,按照後面的方法,伺服器下載時網速渣的要命(感謝長城),但是可以斷點,下次繼續下載
在後續安裝的時候,可以按照選擇的不同辦法進行安裝,其實都是大同小異,在安裝完成之後,建議採用下麵的辦法進行初始化和配置
- 初始化和配置
順序執行以下語句
mysqld
mysqld --initialize --user=mysql
mysqld --initialize --lower-case-table-names=1 #此設置是設置大小寫是否敏感,可前往https://blog.csdn.net/jesseyoung/article/details/40617031查看是否需要設置
#ps:在mysql8中,大小寫敏感設置需要在初始化的時候進行設置,後面在配置中進行更改是無效的,所以慎重選擇,不然就需要重裝。。。。查看初始密碼:
cat /var/log/mysqld.log #或者 cat /var/log/mysqld.log | grep password 或者文件系統進入/var/log/mysqld.log進行查看
啟動mysql服務:
service mysqld start
查看一下服務狀態是否啟動:
service mysqld status
登入資料庫:
mysql -uroot -p
輸入或者複製進剛纔的隨機密碼
下麵會出現一個輸入命令的地方
值得註意的是,在mysql中,每一個執行語句後面要加上一個英文分號,不然不會執行,如果忘記加了,可以在下麵的">"後面輸入英文分號然後回車,例如
設置遠程訪問授權
create user 'root'@'%' identified with mysql_native_password by '你的密碼'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
輸入exit退出,打開防火牆開放3306埠,此步驟不在mysql裡面執行
如果沒有開啟防火牆,則輸入:systemctl start firewalld 開啟
輸入下麵命令,開放3306埠
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
配置預設編碼為UTF-8,此步驟不在mysql裡面執行
修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:
(這個步驟可以使用vim或者xftp進行修改)
character_set_server=utf8
init_connect='SET NAMES utf8'
編輯保存完重啟mysql服務: systemctl restart mysqld
查看下編碼:mysql> show variables like '%character%';
此時,外部如果還是不能連接上資料庫(可查看https://www.cnblogs.com/zzqit/p/10095597.html),首先查看安全規則組,看是否打開了3306埠
如果依然不能訪問,進入mysql中,查看用戶組許可權
(1)進入資料庫查看用戶表
mysql -u root -p //登錄資料庫 use mysql //進入mysql資料庫 select Host,User from user; //查看可以訪問資料庫的ip
結果如下:
我們需要的是有一組host=%,user的名字是唯一的用戶行,如果出現下麵這種也是不可以的
此時用root去鏈接資料庫,資料庫不會按照host=%來進行處理,我們可以將
這一行的用戶名進行更改,如更改為rootr
update user set user="rootr" where user="root" and host="%";
此時我們在外部就可以使用用戶名rootr進行鏈接了
設置開機啟動:
systemctl enable mysqld systemctl daemon-reload