Centos初次安裝mysql並配置遠程訪問

一、系統環境

筆者系統環境爲

 

二、mysql安裝

[root@Testhost ~]# yum install mysql

[root@Testhost ~]# yum install mysql-server

[root@Testhost ~]# yum install mysql-devel

安裝mysql和mysql-devel都成功,但是安裝mysql-server失敗,如下:

查資料發現是CentOS 7 版本將MySQL數據庫軟件從默認的程序列表中移除,用mariadb代替了。

有兩種解決辦法:

方法1:安裝mariadb

MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社區採用分支的方式來避開這個風險。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。

安裝mariadb,大小59 M。

[root@Testhost ~]# yum install mariadb-server mariadb

mariadb數據庫的相關命令是:

systemctl start mariadb  #啓動MariaDB

systemctl stop mariadb  #停止MariaDB

systemctl restart mariadb  #重啓MariaDB

systemctl enable mariadb  #設置開機啓動

所以先啓動數據庫:

[root@Testhost ~]# systemctl start mariadb

然後就可以正常使用mysql了:

[root@Testhost ~]# mysql -u root -p

安裝mariadb後顯示的也是 MariaDB [(none)]> ,可能看起來有點不習慣。下面是第二種方法。

方法2:官網下載安裝mysql-server

[root@Testhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

[root@Testhost ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

[root@Testhost ~]# yum install mysql-community-server

[root@Testhost ~]# mysql -u root -p

初次安裝mysql,root賬戶沒有密碼,輸入mysql -u root -p 一直按回車可以無密碼進入數據庫,然後再重新設置數據庫密碼。

輸入以下命令將root賬戶密碼改爲123456:

[root@Testhost ~]# set password for root@localhost = passwd('123456')  ;

如果如下圖有報錯:

解決方案:退出數據庫,輸入如下命令:

[root@Testhost ~]# mysql_upgrade -u root -p 123456

然後再重新進入數據庫,更改密碼成功:

[root@Testhost ~]# set password for 'root'@'localhost' =password('123456') ;

 [root@Testhost ~]# flush privileges ;

 

三、配置遠程連接數據庫

mysql> grant all privileges on *.* to root@localhost identified by '123456' with grant option;

mysql> grant all privileges on *.* to [email protected] identified by '123456' with grant option;

mysql> grant all privileges on *.* to root@hostname identified by '123456' with grant option;

mysql> grant all privileges on *.* to root@IP identified by '123456' with grant option;

mysql> grant all privileges on *.* to root@"%" identified by '123456' with grant option;

 mysql> FLUSH PRIVILEGES; //需要輸入次命令使修改生效

[root@Testhost ~]#  /bin/systemctl restart mysqld.service   //退出mysql,重啓mysql服務

[root@Testhost ~]#  systemctl stop firewalld   //關閉防火牆

[root@Testhost ~]#  systemctl disable firewalld    //禁止開機啓動防火牆

 

拓展命令:[root@Testhost ~]# mysql -uroot -p123456$i -e "grant all privileges on *.* to root@localhost identified by '123456' with grant option;"

 

四、常見問題報錯

1、

解決方案:可能是數據庫服務沒啓,輸入命令 :

# /bin/systemctl start mysqld.service

 

2、

解決方案:可能是宿主機防火牆沒關,關閉防火牆並禁止開機啓動

[root@Testhost ~]#  systemctl stop firewalld   //關閉防火牆

[root@Testhost ~]#  systemctl disable firewalld    //禁止開機啓動防火牆

 

3、

解決方案:可能是數據庫沒啓動,輸入命令:

# /bin/systemctl start mysqld.service

 

4、改密碼的時候報語法錯誤

解決方案:退出mysql,輸入

# mysql_upgrade -u root -p 123456

# mysql -uroot -p     //重新進入mysql,連按三次回車無密碼進入

# set password for 'root'@'localhost' =password('123456');    //將mysql密碼改成123456

# flush privileges;    //刷新,完成!

 

5、執行yum install mysql-community-server時候報錯:

解決方案:將衝突的Percona-XtraDB-Cluster-client-57-5.7.24-31.33.1.el7.x86_64刪掉

# yum remove Percona-XtraDB-Cluster-client-57-5.7.24-31.33.1.el7.x86_64

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章