阿里雲linux6.9 64位安裝mysql5.7.23記錄


1.檢測是否已經安裝了mysql

  rpm -qa | grep mysql

  如果安裝了就將其卸載,命令:rpm -e --nodeps  軟件名

  比如:rpm -e --nodeps  mysql-libs-5.1.71-1.el6.x86_64

2.下載mysql 下載地址:https://dev.mysql.com/downloads/mysql/

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

3.准備工作

  mkdir /usr/local/mysql

  mv mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar /usr/local/mysql

  cd /usr/local/mysql/

4解壓:tar -xvf mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar

 

5.開始安裝

  rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm

  一般會報缺少依賴,需要我們安裝,把下面這些卻的都安裝上,命令:yum -y install  依賴包    比如:yum -y install libaio.so.1

 

如果過程出現如下所示,表示需要升級依賴 ,命令:yum  update 名稱 ,比如:yum  update libstdc++-4.4.7-4.el6.x86_64

如果還出現別的情況,請百度

6.正式開始安裝了 

  運行命令 rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm,如下圖說明需要先安裝這幾部分才能安裝mysql-community-server-5.7.23-1.el6.x86_64.rpm,跟着提示安裝即可

運行命令如下:

  rpm -ivh mysql-community-common-5.7.23-1.el6.x86_64.rpm

  rpm -ivh mysql-community-libs-5.7.23-1.el6.x86_64.rpm

  rpm -ivh mysql-community-client-5.7.23-1.el6.x86_64.rpm

  rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm

 7.安裝后查詢MySQL服務狀態  命令:service mysqld status,如下圖:

 輸入命令:service mysqld start 啟動mysql,如下圖,另外常用的還有,service mysqld restart用來重啟mysql,service mysqld stop用來停止mysql

8.查看MySQL第一次按時生成的隨機密碼:

  查看日志:cat /var/log/mysqld.log,找到密碼

9.登錄:

用該零時密碼登陸必須要馬上修改的,不然會報錯,如下:

修改密碼:SET PASSWORD = PASSWORD('123456');  密碼不符合規則也報錯,但是我就想使用123456,怎么辦?

修改密碼校驗規則,輸入下面兩行命令

  set global validate_password_policy=0;

  set global validate_password_length=1;

然后修改密碼:SET PASSWORD = PASSWORD('123456');

10.設置系統啟動時自動啟動mysql

  加入到系統服務:chkconfig --add mysqld

  自動啟動:chkconfig mysqld on

  查詢列表:chkconfig

說明:都沒關閉(off時是沒有自動啟動。

 

11.然后本機用SQLyog來連接阿里雲的我們安裝的MySQL,navicat也一樣的

會發現連接失敗

12. 打開阿里雲控制台做如下設置,然后連接,不行就重啟下

 

 

 大功告成了!

 

 問題:mysql只能本地登陸,無法遠程登陸

 解決:

在本地登陸MySQL服務后 

show databases;    查看數據庫並進入mysql數據庫  use mysql;

然后查看用戶表    select Host, User  from user;

輸出如下,這幾個用戶都只能本地登陸

 

mysql> select Host, User from user;
+-----------+---------------+
| Host | User |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
3 rows in set (0.00 sec)

然后修改表數據

update user set Host='%' where User='root';

然后刷新

flush privileges;

完工就可以使用root用戶遠程登陸了

 

 

 

 

如果上面的還是無法遠程登陸,可以試試如下的操作,當我覺得阿里雲控制台做的就時設置防火牆的問題,這里記錄下,以防萬一:

1.登錄mysql:

  mysql -uroot –p123456

2.設置遠程訪問(使用root密碼):

  grant all privileges on *.* to 'root' @'%' identified by '123456';

  flush privileges;

3.防火牆打開3306端口

  /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

  /etc/rc.d/init.d/iptables save

  /etc/init.d/iptables status

 

 

navicate 執行語句時可能會報如下錯誤

1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

 

修改 my.cnf 文件的 sql_mode

獲取 sql_mode字段內容: SELECT @@sql_mode;
去掉 sql_mode字段中的 only_full_group_by
獲得最終要添加的字段
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
在 my.cnf中添加該字段

查找 my.cnf 文件: find / -name my.cnf 或者 whereis my.cnf
編輯 my.cnf: vim /etc/my.cnf 將上一步驟的 sql_mode 字段內容添加至 my.cnf
保存,重啟: service mysqld restart


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM