Linux虛擬機下mysql 5.7安裝配置方法圖文教程


一、 下載mysql5.7

http://mirrors.sohu.com/mysql/MySQL-5.7/

Linux下載:

輸入命令:wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

二、建立用戶,以及mysql的目錄

1、建立一個mysql的組

輸入命令: groupadd mysql

2、建立mysql用戶,並放到mysql組

輸入命令:useradd -r -g mysql mysql

3、給mysql用戶設置密碼

輸入命令:passwd mysql

三、解壓mysql

1、把下載的mysql的包移動到Linux虛擬機下

2、把tar包放到/usr/local 目錄下

輸入命令:mv /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz /usr/local

3、解壓

輸入命令:cd /usr/local

輸入命令:tar xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

4、把解壓出來的文件改下名字,改為mysql

輸入命令:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

四、配置相關的啟動配置文件

1、復制my_default.cnf到/etc/my.cnf (mysql啟動時自動讀取)

輸入命令:cp my-default.cnf /etc/my.cnf

2、解決亂碼問題

輸入命令:vi /etc/my.cnf

更改:

?
1
2
3
4
5
[mysql]
default-character- set =utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8

3、復制mysql.server 到/etc/init.d/

輸入命令:cp mysql.server /etc/init.d/mysql

4、修改 /etc/init.d/mysql 參數,給予2個目錄位置

輸入命令:vi /etc/init.d/mysql

更改:basedir=/usr/local/mysql

   datadir=/usr/local/mysql/data

5、 給目錄/usr/local/mysql 更改擁有者

輸入命令:chown -R mysql:mysql /usr/local/mysql/

五、初始化mysql的數據庫

1、初始化數據庫

首先要去到mysql/bin目錄下

老版本的命令:mysql_install_db

新版本的命令./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一個data目錄,代表數據庫已經初始化成功

2、給數據庫加密

輸入命令: ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

3、啟動mysql

輸入命令:./mysqld_safe --user=mysql &

&符號:把當前進程丟給后台

六、 進入客戶端

1、 登錄

輸入命令:./mysql -uroot –p

然后輸入你的臨時密碼

2、此時root用戶不輸密碼登陸報錯。需要更改/etc/my.cnf配置文件,然后重啟mysql

輸入命令:vi /etc/my.cnf

添加

  [mysqld]

  skip-grant-tables

輸入命令:service mysql restart

 

3、 修改密碼(切記:修改完密碼后,需要執行flush privileges;

輸入命令:set password=password('你的密碼');

 mysql -uroot -p免密碼登陸后,修改密碼時報錯:

報錯:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt

原因:權限沒有刷新

解決:在mysql中執行命令:flush privileges;

 

4 查詢當前mysql中所有的用戶 更多詳細命令參考

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

新建用戶:

CREATE USER 'mysql'@'localhost' IDENTIFIED BY 'mysql';

為用戶授權:

  格式:grant 權限 on 數據庫.* to username@登錄主機 identified by "password"; 
  實例:grant all privileges on testDB.* to mysql@localhost identified by 'mysql';
  (為了時其他機器而訪問) mysql@'%'
  grant all privileges on *.* to mysql@'%' identified by 'mysql';
  然后須要運行刷新權限的命令:
  flush privileges;
這里如果只mysql @localhost,下一步用navicat連接虛擬機的mysql時會報錯:
 

 

七、window遠程訪問Linux虛擬機的mysql

1、首先要關閉防火牆,這樣window才能連接上

輸入命令:systemctl stop firewalld.service

2、在windows中用navicat premium 客戶端連接虛擬機中的mysql數據庫

 

八、設置開機自動啟動mysql服務

1、添加服務mysql

輸入命令:chkconfig --add mysql

2、設置服務開機自啟

輸入命令:chkconfig mysql on

九、設置path環境變量

輸入命令:vi /etc/profile

設置環境變量:export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH

十、linux虛擬機重啟后,mysql進程正常運行但查看服務狀態報錯,navicat客戶端也連接不上

service mysql status報錯:
或者navicat premium 客戶端連接不上MySQL:
1 切換到mysql用戶下進行操作: su mysql
2 注意檢查防火牆是否關閉: systemctl stop firewalld.service

參考帖子:

  灑水閃人-詳細教程

  虛擬機重啟后,mysql操作權限的問題

  MySQL免密登錄ERROR 

  MySQL免密碼登陸后,修改密碼ERROR

  mysql中用戶授權不正確,導致navicat客戶端連接報錯沒有授權ERROR


免責聲明!

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



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