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

1、 下載mysql5.7

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

Linux下載:mysql

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

2、創建用戶,以及mysql的目錄

一、創建一個mysql的組sql

輸入命令: groupadd mysqlshell

二、創建mysql用戶,並放到mysql組數據庫

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

三、給mysql用戶設置密碼bash

輸入命令:passwd mysqlide

3、解壓mysql

一、把下載的mysql的包移動到Linux虛擬機下加密

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

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

三、解壓

輸入命令:cd /usr/local

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

四、把解壓出來的文件改下名字,改成mysql

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

4、配置相關的啓動配置文件

一、複製my_default.cnf到/etc/my.cnf (mysql啓動時自動讀取)

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

二、解決亂碼問題

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

更改:

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

三、複製mysql.server 到/etc/init.d/

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

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

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

更改:basedir=/usr/local/mysql

   datadir=/usr/local/mysql/data

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

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

5、初始化mysql的數據庫

一、初始化數據庫

首先要去到mysql/bin目錄下

老版本的命令:mysql_install_db

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

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

二、給數據庫加密

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

三、啓動mysql

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

&符號:把當前進程丟給後臺

6、 進入客戶端

一、 登陸

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

而後輸入你的臨時密碼

二、此時root用戶不輸密碼登錄報錯。須要更改/etc/my.cnf配置文件,而後重啓mysql

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

添加

  [mysqld]

  skip-grant-tables

輸入命令:service mysql restart

 

三、 修改密碼(切記:修改完密碼後,須要執行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時會報錯:
 

 

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

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

輸入命令:systemctl stop firewalld.service

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

 

8、設置開機自動啓動mysql服務

一、添加服務mysql

輸入命令:chkconfig --add mysql

二、設置服務開機自啓

輸入命令:chkconfig mysql on

9、設置path環境變量

輸入命令:vi /etc/profile

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

10、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

相關文章
相關標籤/搜索