学习linux要会mysql吗_linux 学习 mysql安装到连接
初始化和配置
順序執(zhí)行以下語句
mysqld
mysqld --initialize --user=mysql
mysqld --initialize --lower-case-table-names=1 #此設(shè)置是設(shè)置大小寫是否敏感,可前往https://blog.csdn.net/jesseyoung/article/details/40617031查看是否需要設(shè)置
#ps:在mysql8中,大小寫敏感設(shè)置需要在初始化的時候進(jìn)行設(shè)置,后面在配置中進(jìn)行更改是無效的,所以慎重選擇,不然就需要重裝。。。。
查看初始密碼:
cat /var/log/mysqld.log #或者 cat /var/log/mysqld.log | grep password 或者文件系統(tǒng)進(jìn)入/var/log/mysqld.log進(jìn)行查看
啟動mysql服務(wù):
service mysqld start
查看一下服務(wù)狀態(tài)是否啟動:
service mysqld status
登入數(shù)據(jù)庫:
mysql -uroot -p
輸入或者復(fù)制進(jìn)剛才的隨機(jī)密碼
下面會出現(xiàn)一個輸入命令的地方
值得注意的是,在mysql中,每一個執(zhí)行語句后面要加上一個英文分號,不然不會執(zhí)行,如果忘記加了,可以在下面的">"后面輸入英文分號然后回車,例如
設(shè)置遠(yuǎn)程訪問授權(quán)
create user 'root'@'%' identified with mysql_native_password by '你的密碼';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
輸入exit退出,打開防火墻開放3306端口,此步驟不在mysql里面執(zhí)行
如果沒有開啟防火墻,則輸入:systemctl start firewalld? 開啟
輸入下面命令,開放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
配置默認(rèn)編碼為UTF-8,此步驟不在mysql里面執(zhí)行
修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:
(這個步驟可以使用vim或者xftp進(jìn)行修改)
character_set_server=utf8
init_connect='SET NAMES utf8'
編輯保存完重啟mysql服務(wù): systemctl restart mysqld
查看下編碼:mysql> show variables like '%character%';
此時,外部如果還是不能連接上數(shù)據(jù)庫(可查看https://www.cnblogs.com/zzqit/p/10095597.html),首先查看安全規(guī)則組,看是否打開了3306端口
如果依然不能訪問,進(jìn)入mysql中,查看用戶組權(quán)限
(1)進(jìn)入數(shù)據(jù)庫查看用戶表
mysql -u root -p //登錄數(shù)據(jù)庫
use mysql //進(jìn)入mysql數(shù)據(jù)庫
select Host,User from user; //查看可以訪問數(shù)據(jù)庫的ip
結(jié)果如下:
我們需要的是有一組host=%,user的名字是唯一的用戶行,如果出現(xiàn)下面這種也是不可以的
此時用root去鏈接數(shù)據(jù)庫,數(shù)據(jù)庫不會按照host=%來進(jìn)行處理,我們可以將
這一行的用戶名進(jìn)行更改,如更改為rootr
update user set user="rootr" where user="root" and host="%";
此時我們在外部就可以使用用戶名rootr進(jìn)行鏈接了
總結(jié)
以上是生活随笔為你收集整理的学习linux要会mysql吗_linux 学习 mysql安装到连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女性怎么检查输卵管堵塞
- 下一篇: 码云上传代码添加标签_如何使用码云-百度