Centos7下使用yum安裝mysql數據庫
首先Centox7已經不支持mysql,因為收費了你懂得,所以內部集成了mariadb,
而安裝mysql的話會和mariadb的文件沖突,所以需要先卸載掉mariadb。由于確定使用mysql,那只有卸載mariadb了。
一、清除不支持mysql的安裝環境
(1)首先查看當前安裝的mariadb包
rpm -qa|grep mariadb
本人得到結果是:
mariadb-libs-5.5.44-2.el7.centos.x86_64
如果要看當前安裝的mysql包
rpm -qa|grep?mysql
本人得到的結果是:
mysql-community-common-5.7.25-1.el7.x86_64
mysql-community-client-5.7.25-1.el7.x86_64
mysql57-community-release-el7-10.noarch
mysql-community-server-5.7.25-1.el7.x86_64
mysql-community-libs-5.7.25-1.el7.x86_64
二、卸載以上所有已經安裝過的包
rpm -e
mariadb-libs-5.5.60-1.el7_5.x86_64(刪除mariadb包)
rpm
-e?mysql-community-common-5.7.25-1.el7.x86_64(刪除mysql包)
如果有錯誤提示如下,提示有第三方的庫依賴:
error:Failed
dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed)
postfix-2:2.10.1-7.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit)
is needed by (installed)
postfix-2:2.10.1-7.el7.x86_64
三、強制卸載mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
四、安裝Mysql的庫。
(CentOS7的yum源中默認是沒有mysql的。為了解決這個問題,我們要先下載mysql的repo源。最開始CentOS下自帶一個數據庫檢查該機器上是否安裝過mysql;?rpm -qa|grep -i mysql,如果沒有任何輸入證明沒有安裝過,如果安裝過需要卸載的話用rpm -e
軟件包名來卸載)
首先輸入 yum list | grep mysql
命令來查看yum上提供的mysql數據庫可下載的版本:
1
yum list | grep mysql
就可以得到yum服務器上mysql數據庫的可下載版本信息:
1.下載并安裝MySQL官方的 Yum
Repository
1
wget -i -c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
如果 wegt 未安裝的話可以先用 yum 安裝 wget :
1
yum install wget
2.
安裝mysql57-community-release-el7-10.noarch.rpm包
1
yum -y install mysql57-community-release-el7-10.noarch.rpm
安裝這個包后,會獲得兩個mysql的yum
repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安裝MySQL
1
yum install -y mysql-server
至此MySQL就安裝完成了,然后是對MySQL的一些設置。
4.重置MySQL密碼
在MySQL安裝完成后,第一次啟動MySQL時,會把密碼記錄到?/var/log/mysqld.log?文件中
首先啟動MySQL:
1
systemctl
start?mysqld.service
查看mysql運行狀態:Started MySQL Server.
1
systemctl status
mysqld.service
找出在日志文件中的密碼:
1
grep 'temporary password'
/var/log/mysqld.log然后把臨時密碼復制下來,進入數據庫進行修改密碼。
進入數據庫
1
mysql -u root -p
輸入初始密碼,此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數據庫:
1
SET PASSWORD =
PASSWORD('XXXXXXXX');
新密碼要數字字母,否則會報錯
如果一直說設置的新密碼密碼不合法,可以做著兩部再修改密碼。
設置安全級別set global
validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
默認密碼長度為8,可以設置為其它值,最小4位
set global validate_password_length=8;
Query OK, 0 rows affected (0.00 sec)
最后注意:
使用pymysql連接Mysql服務器的數據庫,發現連接不到,錯誤代碼是1130,pymysql.err.InternalError:
(1130,'xxxxx' is not allowed to connect to this MySQL
server")
實際上是權限問題。如下操作mysql庫,即可解決。登錄mysql后,更改 “mysql” 數據庫里的
“user” 表里的 “host” 項,從”localhost”改稱'%'。。
第一步:以權限用戶root登錄
mysql -u root
-p
第二步:選擇mysql庫
mysql>use
mysql;
第三步:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
mysql>select
'host' from user where user='root';
第四步:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
mysql>update
user set host = '%' where user ='root';
第五步:刷新MySQL的系統權限相關表
mysql>flush
privileges;
第六步:重起mysql服務即可完成。
以上為本人學習過程,歡迎大家一起交流學習,我的微信號:aierlankfei2000。