centos 安裝 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 詳細步驟

1.卸載Linux系統上自帶的mysql插件(old版本)

一、先檢查要安裝的Linux服務器cglib版本號,命令 strings /lib64/libc.so.6 | grep GLIBC ,查看其是否有相應cglib版本,以下:node

只有在系統列表中的cglib才能夠安裝,以避免對不上還須要升級系統cglibmysql

二、查找mysql相關安裝:linux

rpm -qa|grep -i mysqlsql

可能會出現如下的一個或多個,沒有更好,說明你的系統很乾淨,可是以防萬一,無論怎樣下面的操做仍是檢查一變數據庫

perl-DBD-MySQL-4.013-3.el6.x86_64vim

mysql-libs-5.1.71-1.el6.x86_64centos

qt-mysql-4.6.2-26.el6_4.x86_64安全

mysql-5.1.71-1.el6.x86_64bash

mysql-server-5.1.71-1.el6.x86_64服務器

mysql-community-common-5.7.23-1.el7.x86_64

若是出現了上面的一個或多個,也不用擔憂,使用卸載命令,有幾個幹掉幾個!

卸載命令:rpm –ev {包名},如:

rpm -ev mysql-community-common-5.7.23-1.el7.x86_64

查找老版本mysql相關的安裝目錄命令:

find / -name mysql

若查找到相關目錄使用命令:rm –rf {目錄名}

 

最後使用命令:rpm -qa|grep -i mysql,從新檢查一遍系統中是否安裝mysql。

 

若是是centos7,那麼默認會安裝一個mysql的分支產品mariadb,必須先卸載此分支產品

 rpm -qa | grep mariadb

拷貝找到的列表,一個個卸載,如

rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

2.安裝包處理

新建software目錄,切換到software目錄,下載到該目錄:

mkdir /root/software

cd/root/software

 

下載:(600M左右,下載須要點時間)

                                                                                   (mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

注:問題?

-bash: wget: command not found

而後在執行就能夠了,或者能夠去官網下載。

 

官網下載

地址:

https://dev.mysql.com/downloads/mysql/

 

或者直接找歷史版本:https://downloads.mysql.com/archives/community/

國內鏡像: http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/

(ps:最簡單的是Windows的安裝版,選擇歷史檔案左側的installer就能夠選擇下載:https://downloads.mysql.com/archives/installer/

下載完 

 

解壓到當前目錄:

tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 

mysql主目錄處理 

在software目錄下移動文件到/usr/local/mysql:

mv mysql-5.7.23-linux-glibc2.12-x86_64/usr/local/mysql

 

cd/usr/local/mysql

mkdir data

主目錄權限處理

查看組和用戶狀況

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

若存在,則刪除原mysql用戶:userdel -r mysql,會刪除其對應的組和用戶。

 

在查看就會發現沒有,說明你已經刪掉了

 

建立mysql組和mysql用戶

 groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

 

建立配置文件及相關目錄

修改配置文件:/etc/my.cnf,配置不對的話,後面初始化不全,會拿不到默認密碼。

vim /etc/my.cnf

修改內容:

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/tmp/mysql.sock

symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld/mysqld.pid
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
log-bin=mysql-bin 
binlog-format=ROW 
server_id=1 
max_connections=1000

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

:wq! 保存退出。

建立文件/tmp/mysql.sock:設置用戶組及用戶,受權

cd /tmp

touch mysql.sock

chown mysql:mysql mysql.sock

chmod 755 mysql.sock

 

建立文件/tmp/mysqld/mysqld.pid:

mkdir mysqld

cd mysqld

touch mysqld.pid

cd ..

chown -R mysql:mysql mysqld

cd mysqld

chmod 755 mysqld.pid

 

建立文件/var/log/mysqld.log:

 

touch /var/log/mysqld.log

chown -R mysql:mysql /var/log

cd log

chmod 755 mysqld.log

 

配置文件其餘參數,僅供參考:https://blog.csdn.net/u011823494/article/details/74548642

安裝和初始化數據庫

進入bin目錄:

cd /usr/local/mysql/bin/

 

初始化數據庫:

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

注:

這時會出現錯誤

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解決方案:

 yum install -y libaio

 

若是是內網不能上網的環境,那麼就得手動安裝 numactl-2.0.9-2.el6.x86_64.rpm 和 libaio-0.3.109-13.el7.x86_64.rpm 這兩個rpm包

rpm -ivh  numactl-2.0.9-2.el6.x86_64.rpm

rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

而後在執行./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

 

安全啓動:

./mysqld_safe --user=mysql &

是否啓動成功,能夠經過查看mysql進程,ps -ef | grep mysql

 

默認密碼在mysqld.log日誌裏, 找到後保存到安全的地方:

cat /var/log/mysqld.log

其中root@localhost: 後面的就是默認密碼,後面登陸用.(若是找不到可能默認是空,登陸時密碼直接回車,不然可能安裝有問題)

進入bin目錄:

cd /usr/local/mysql/bin/

 

登陸mysql:

./mysql -u root -p

拷貝或者輸入mysqld.log中得到的默認密碼,便可進入mysql命令客戶端。

 

可是,若輸入相關命令,則會提示你修改用戶密碼(注意後面必定要加;)。

show databases;

 

假設密碼修改成xh2018

mysql> set password=password("xh2018");

 

設置遠程登陸權限

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

當即生效:

mysql> flush privileges;

 

退出quit 或者 exit;

mysql> quit;

至此,mysql安裝流程已結束,後續若是經過遠程ip進行root用戶受權,還須要到mysql庫下的user表中把%對應的root用戶全部權限改成Y,不然遠程受權會失敗,參考:https://blog.csdn.net/nininininiabc222/article/details/80090384

開機服務啓動設置:

把support-files/mysql.server 拷貝爲/etc/init.d/mysql:

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

查看是否拷貝成功

 

查看mysql服務是否在服務配置中

chkconfig --list mysql

 

若沒有,則把mysql註冊爲開機啓動的服務,而後在進行查看

chkconfig --add mysql

chkconfig --list mysql

 

啓動 或 中止

service mysql start

service mysql stop

 

建立快捷方式:

服務啓動後,直接運行mysql -u root -p便可登陸,不須要進入到對應的目錄。

ln -s /usr/local/mysql/bin/mysql /usr/bin

 

打開3306防火牆

相關文章
相關標籤/搜索