centos7搭建lnmp安裝二進位制mysql【三】

冰凡發表於2017-01-05
1.官網下載安裝包mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz

2.通過命令解壓檔案
[root@localhost share]# tar -zxvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz 

3.重新命名檔案,並放到合適位置
[root@localhost share]# mv mysql-5.6.25-linux-glibc2.5-x86_64 /usr/local/mysql

4.進入/usr/local/mysql目錄,進行下列操作
a. 增加使用者組mysql
[root@localhost mysql]# groupadd mysql
b.增加使用者mysql到使用者組mysql
[root@localhost mysql]# useradd -g mysql mysql
c.改變當前檔案目錄擁有者和擁有的使用者組
[root@localhost mysql]#   chown -R mysql:mysql /usr/local/mysql
注:這一步可以防止除了mysql使用者和root使用者,其他使用者都無法修改這個檔案下的內容

5.初始化資料庫例項
[root@localhost mysql]# scripts/mysql_install_db --user=mysql

6.放啟動檔案和配置檔案
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# cp my.cnf  /etc/my.cnf

7.呼叫mysqld_safe啟動mysql服務,並放入後臺執行
[root@localhost mysql]# bin/mysqld_safe --usr=mysql &

8.檢視是否已經啟動
[root@localhost mysql]# netstat -ntlp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      16546/mysqld   

注:

netstat -t引數:t代表TCP協議的套節字連結,除了t之外還有u(UDP)、w(RAW)、x(UNIX)套節字。

netstat -a引數:a就是(all)簡寫,意思就是包括全部正在監聽的埠。

netstat -n引數:直接顯示埠號,不是根據“/etc/server”顯示埠對應的服務名稱。

netstat -p引數:顯示佔用該埠號的程式。

netstat -l引數:顯示正在被監聽的埠。



9.登入mysql
[root@localhost mysql]# bin/mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.25 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
10.安裝成功
注:如果遇到MySQL server through socket '/tmp/mysql.sock',請看centos是否安裝了資料庫,把相關的資料庫解除安裝了;比如mariadb
============================

其他後期設定
1.修改使用者密碼:
方案1.直接進入資料庫mysql更新user表中root的密碼
mysql> use mysql
mysql> update user set password=PASSWORD('root') where user='root';
mysql> flush privileges;

方案2.賦予root所有許可權,並修改密碼為root
mysql> grant all privileges on *.* to root@'%' IDENTIFIED BY 'root';
注:root@'%'表示可以從任何地方訪問該庫,即可遠端訪問;IDENTIFIED BY後面跟的是使用者密碼,即訪問密碼;如果為root@'localhost' 表示該使用者只能在本地訪問該庫

2.把mysql的bin路徑加入環境變數PATH中:
[root@localhost mysql]# vim /etc/profile
進入編輯後,在最後新增
export PATH="/usr/local/mysql/bin:$PATH"
立即生效
[root@localhost mysql]# source /etc/profile

3.設定mysql自動執行
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig --level 345 mysqld on
[root@localhost ~]# chkconfig --list | grep mysqld

注:
   --add  增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述檔案內增加相關資料。
   --del  刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述檔案內刪除相關資料。
   --level<等級代號>  指定讀系統服務要在哪一個執行等級中開啟或關畢。
      等級0表示:表示關機
      等級1表示:單使用者模式
      等級2表示:無網路連線的多使用者命令列模式
      等級3表示:有網路連線的多使用者命令列模式
      等級4表示:不可用
      等級5表示:帶圖形介面的多使用者模式
      等級6表示:重新啟動


4.如果需要測試遠端能不能連線上,可以先禁止掉防火牆
[root@localhost ~]# systemctl stop firewalld.service
或者如下
[root@localhost ~]# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

檢視
[root@localhost ~]# iptables -L -n|grep 3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306

======================
MySQL遠端連線丟失問題解決方法,Mysql錯誤Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0解決方法,需要的朋友可以參考下

系統請根據情況自行找到my.cnf的路徑。一般只會存放在/etc/my.cnf或者/etc/mysql/my.cnf下。
首先用vim開啟my.cnf:

複製程式碼 程式碼如下:

vim /etc/mysql/my.cnf

看看是否有繫結本地迴環地址的配置,如果有,註釋掉下面這段文字:(在文字之前加上#號即可)

複製程式碼 程式碼如下:

bind-address = 127.0.0.1

然後找到[mysqld]部分的引數,在配置後面建立一個新行,新增下面這個引數:
skip-name-resolve
儲存檔案並重啟MySQL:

複製程式碼 程式碼如下:
/etc/init.d/mysql restart





相關文章