Linux安裝mysql以及遇到的問題解決辦法

話不多說,直接開幹:

1.mysql下載地址(這裏使用的是5.7.28)

官網地址:   https://dev.mysql.com/downloads/mysql/
百度雲地址: https://pan.baidu.com/s/1kGXBgt1KP8UzD68iJ-jgFg
提取碼:href

2.解壓安裝包tar -zxvf  mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

   改名mv mysql-5.7.28-linux-glibc2.12-x86_64   mysql-5.7.28

3.創建用戶組,用戶

   groupadd mysql

   useradd -r -g mysql mysql

4.創建mysql數據倉庫目錄

   mkdir mysql_data(目錄隨便,配置正確就好)

   我的路徑  basedir=/home/software/soft/mysql/mysql-5.7.28

                   datadir=/home/software/soft/mysql/mysql_data/

5.編輯my.cnf文件

   5.7版本後,mysql取消了此文件,這裏手動添加了一個

vi /etc/my.cnf   粘貼如下的內容

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 10G

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
log_bin
character-set-server=utf8
collation-server=utf8_bin
init-connect='SET NAMES utf8'
# These are commonly set, remove the # and set as required.
basedir = /home/software/soft/mysql/mysql-5.7.28
datadir = /home/software/soft/mysql/mysql_data
port = 3306
server_id = 22206
socket = /home/software/soft/mysql/mysql_data/mysql.sock
binlog_format = statement
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
log_bin_trust_function_creators = on
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

lower_case_table_names=1

注意這三個參數:
basedir = /home/software/soft/mysql/mysql-5.7.28 (mysql安裝路徑)
datadir = /home/software/soft/mysql/mysql_data (mysql數據倉庫)
socket = /home/software/soft/mysql/mysql_data/mysql.sock (數據倉庫路徑下)

6.設置目錄訪問權限

mysql安裝目錄執行(注意有個點:代表所有文件)

    chown -R mysql .

    chgrp -R mysql .

    chown -R mysql  /home/software/soft/mysql/mysql_data(數據倉庫路徑

7.配置參數

mysql安裝目錄執行(basedir、datadir對應修改)

bin/mysqld --initialize --user=mysql --basedir=/home/software/soft/mysql/mysql-5.7.28 --datadir=/home/software/soft/mysql/mysql_data/

bin/mysqld --initialize --user=mysql --basedir=/home/software/soft/mysql/mysql-5.7.28 --datadir=/home/software/soft/mysql/mysql_data/

這裏八成會報錯:按照提示改就好   /etc/my.cnf at line 5  大多是沒有註釋完

再次執行 :   bin/mysqld --initialize --user=mysql --basedir=/home/software/soft/mysql/mysql-5.7.28 --datadir=/home/software/soft/mysql/mysql_data/

成功後記錄一下這個臨時密碼,後面改密碼需要  :4hwro%Z<6XBj

在mysql安裝路徑下繼續配置:
bin/mysql_ssl_rsa_setup --datadir=/home/software/soft/mysql/mysql_data/

cp  support-files/mysql.server    /etc/init.d/mysql

vi /etc/init.d/mysql

  • 修改 basedir=/home/software/soft/mysql/mysql-5.7.28(安裝路徑)
  • 修改 datadir=/home/software/soft/mysql/mysql_data/(數據倉庫)

7.啓動

/etc/init.d/mysql start(啓動)

mysql -hlocalhost -uroot -p(如果如圖報錯)

執行:ln -s /home/software/soft/mysql/mysql-5.7.28/bin/mysql      /usr/bin  (前面的地址安裝路徑,後面的地址可以不變)

然後再     mysql -hlocalhost -uroot -p(重新登陸),如果報這個錯:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

mv 指令移動生成的.sock 和 .sock.lock 文件到/tmp (默認目錄)

生成的.sock 和 .sock.lock 在數據倉庫目錄裏面

mv /home/software/soft/mysql/mysql_data/mysql.sock /tmp
mv /home/software/soft/mysql/mysql_data/mysql.sock.lock /tmp

mysql -hlocalhost -uroot -p(再重新登陸,不出意外已經OK)

8.啓動後修改數據庫相關配置:

修改密碼(password(‘root’)) root 即爲密碼

mysql>      set password=password(‘root’);

設置root賬戶的host地址(修改了纔可以遠程連接)

賦權等:

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

flush privileges;

 

此時 庫已經OK

做個校驗:

use mysql;

select host,user from user;

這裏就可以使用遠程連接測試了,如果連接不上,關閉防火牆

Centos6.9

    (service iptables stop)
    永久關閉 chkconfig iptables off

Centos7

    設置開機啓用防火牆:systemctl enable firewalld.service
    設置開機禁用防火牆:systemctl disable firewalld.service
    啓動防火牆:systemctl start firewalld
    關閉防火牆:systemctl stop firewalld
    檢查防火牆狀態:systemctl status firewalld
9.配置mysql自動啓動

  • chmod 755 /etc/init.d/mysql
  • chkconfig --add mysql
  • chkconfig --level 345 mysql on

一切搞定,結束!

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