大家好培己,我是walker炕横!
一個(gè)從文科自學(xué)轉(zhuǎn)行的程序員~
愛好編程依溯,偶爾寫寫編程文章和生活
歡迎關(guān)注公眾號(hào)【I am Walker】老厌,一塊學(xué)習(xí)和成長!
centos 7 安裝mysql的方式主要有兩種黎炉,分別是:
- yum安裝
- rpm安裝
這里講解的主要是使用yum安裝
一枝秤、使用yum安裝
1、查看需要版本
進(jìn)入mysql的版本倉庫慷嗜,查看需要什么版本,找到版本之后淀弹,右鍵復(fù)制鏈接
https://repo.mysql.com//
[圖片上傳失敗...(image-ac83b7-1648392514561)]
我這里獲取的是這個(gè)
2、下載資源
wget+復(fù)制的鏈接
wget https://repo.mysql.com//mysql-community-release-el5-7.noarch.rpm
獲取成功之后的結(jié)果
[圖片上傳失敗...(image-5001da-1648392514561)]
3庆械、使用yum進(jìn)行安裝
yum -y install mysql-community-release-el5-7.noarch.rpm
install后面的rpm的名字薇溃,根據(jù)自己下載的版本進(jìn)行填寫,例如我的是這個(gè)
[圖片上傳失敗...(image-75cc65-1648392514561)]
4缭乘、安裝mysql數(shù)據(jù)庫
yum -y install mysql-community-server
[圖片上傳失敗...(image-fef9c-1648392514561)]
5沐序、啟動(dòng)mysql服務(wù)
systemctl start mysqld.service
6、進(jìn)行mysql
[root@izwz98o2veull5mopebhs9z etc]# mysql -root -p
Enter password:
之后直接按enter鍵即可,可能是版本不同策幼,有的是有默認(rèn)密碼的
如果有默認(rèn)密碼的話邑时,可以輸入指令查詢
cat /var/log/mysqld.log | grep password
7、修改mysql賬號(hào)密碼
- 先進(jìn)入mysql
[root@izwz98o2veull5mopebhs9z etc]# mysql -uroot -p
Enter password:
- 使用set password修改密碼
后面的password('xx')中的xx即為新密碼
mysql> set password for root@localhost =password('root');
Query OK, 0 rows affected (0.00 sec)
- 重新進(jìn)入mysql驗(yàn)證一下
先使用ctrl+c退出特姐,之后進(jìn)入指令
[root@izwz98o2veull5mopebhs9z etc]# mysql -uroot -p
Enter password:
8晶丘、創(chuàng)建用戶與授權(quán)
a、清空匿名用戶
在mysql庫中的user表唐含,可能會(huì)存在匿名的賬戶铣口,如果這個(gè)賬戶存在,那么可能會(huì)影響新用戶的使用觉壶,導(dǎo)致新用戶沒法登陸脑题,因此將其刪除
[圖片上傳失敗...(image-bae425-1648392514561)]
使用root賬號(hào),執(zhí)行指令
mysql> delete from mysql.user where user='';
b铜靶、創(chuàng)建用戶
mysql> create user 'walker'@'%' identified by 'walker';
Query OK, 0 rows affected (0.00 sec)
# 之后刷新一下權(quán)限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
說明:
命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:你將創(chuàng)建的用戶名
host:指定該用戶在哪個(gè)主機(jī)上可以登陸叔遂,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠(yuǎn)程主機(jī)登陸争剿,可以使用通配符%
password:該用戶的登陸密碼已艰,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務(wù)器
c蚕苇、測(cè)試登錄
mysql -uwalker -p
d哩掺、授權(quán)
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
privileges:用戶的操作權(quán)限,如SELECT涩笤,INSERT嚼吞,UPDATE等,如果要授予所的權(quán)限則使用ALL
databasename:數(shù)據(jù)庫名
tablename:表名蹬碧,如果要授予該用戶對(duì)所有數(shù)據(jù)庫和表的相應(yīng)操作權(quán)限則可用表示舱禽,如.*
mysql> grant all on *.* to 'walker'@'%';
Query OK, 0 rows affected (0.00 sec)
問題
1、Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details
使用指令查看日志:
vi /var/log/mysqld.log
之后可以發(fā)現(xiàn)恩沽,這個(gè)端口已經(jīng)被使用
[圖片上傳失敗...(image-dfb568-1648392514561)]
我是因?yàn)槲乙呀?jīng)注冊(cè)了一個(gè)docker的數(shù)據(jù)庫誊稚,端口為3306
[圖片上傳失敗...(image-46838a-1648392514561)]
解決方式:
1、將docker的數(shù)據(jù)庫關(guān)掉
2罗心、修改新的數(shù)據(jù)庫的端口
做法:
a.切換到該文件
vi /etc/my.cnf
[圖片上傳失敗...(image-2744e7-1648392514561)]
b里伯、在mysqld下面添加 port=xxxx
c、重啟mysql服務(wù)
service mysqld restart
2渤闷、創(chuàng)建的新用戶無法登錄疾瓮,等之后顯示ACCESS denied
[圖片上傳失敗...(image-ad2449-1648392514561)]
解決方式:
將這兩條空數(shù)據(jù)刪除
# 刪除
mysql> delete from mysql.user where user='';
# 刷新權(quán)限
mysql> flush privileges;