linux下mysql的tar包離線安裝


linux下mysql的tar包離線安裝

1.確保mysql安裝之前有libaio依賴

yum search libaio 
yum install libaio

2.下載mysql的tar離線包

下載頁面選擇系統,linux-Generic

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

刪除系統自帶mariadb

[gz_admin@ ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[gz_admin@~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

刪除etc目錄下的my.cnf文件

[gz_admin@ ~]# rm -rf  /etc/my.cnf

3.解壓msyql安裝包到指定目錄下

tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz -C /usr/local

4.重命名項目,進入/usr/local目錄

cd /usr/local
mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql

5.新建mysql數據及日志存放路徑:

cd /data
mkdir mysql
cd mysql
mkdir data  # 存放mysql數據

6.修改配置文件

有的話直接修改,沒有就創建

touch /etc/my.cnf
vim my.cnf

# 配置如下
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8

[mysqld]
port = 3306  # 設置3306端口
socket=/data/mysql/mysql.sock  # 套接字保存路徑
basedir=/usr/local/mysql  # 設置mysql的安裝目錄
datadir=/data/mysql/data  # 設置mysql數據庫的數據的存放目錄
log-error=/data/mysql/error.log  # 報錯日志路徑
pid-file=/data/mysql/mysql.pid
max_connections=1000  # 允許最大連接數
character-set-server=utf8  # 服務端使用的字符集默認為8比特編碼的latin1字符集

# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
max_allowed_packet=1024M

[mysqld_safe]
socket=/data/mysql/mysql.sock

[client]
socket=/data/mysql/mysql.sock

[mysql.server]
socket=/data/mysql/mysql.sock

image-20200316183119983

7.創建mysql用戶組

[gz_admin@ ~]# groupadd mysql
#創建一個用戶名為mysql的用戶並加入mysql用戶組
[gz_admin@ ~]# useradd -g mysql mysql
#制定password 為 mysql123
[gz_admin@~]# passwd mysql
Changing password for user mysql.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.

8.修改mysql目錄權限,命令如下:

chown -R mysql:mysql /usr/local/mysql  # 修改mysql屬主給mysql用戶
chown -R mysql:mysql /data/mysql  # 修改data屬主給mysql用戶
chmod -R 755 /data/mysql /usr/local/mysql  # 寫入權限

9.安裝初始化mysql,命令如下:

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

注釋:
# 解壓后的文件夾路徑
--basedir=/usr/local/mysql

# 指定數據目錄,初始化過程中會自動創建該目錄
--datadir=/usr/local/mysql/data

注意,這一步會產生一個臨時密碼,需要到指定的日志文件日志中去查看。

10.將mysql進程放入系統進程中,命令如下:

修改/support-files/mysql.server文件

basedir=/usr/local/mysql
datadir=/data/mysql/data
mysqld_pid_file_path=/data/mysql/mysql.pid

拷貝到/etc/init.d/mysqld

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

然后就可以使用此命令啟動/關閉 mysql:

service mysql start
service mysql stop
service mysql restart

11.設置開機啟動 在/etc/init.d文件夾下操作

cd /etc/init.d
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
service mysql restart

11.啟動mysql

service mysql start
mysql -u root -p  # 輸入密碼進入

初始密碼查看方法,進入配置中指定的日志文件,error.log

image-20200316200227321

12.設置mysql環境變量

vim /etc/profile
export PATH=$PATH:/usr/bin/mysql/bin
source /etc/profile

重置root密碼

1.編輯MySQL配置文件my.cnf

vi /etc/my.cnf #編輯文件,找到[mysqld],在下面添加一行skip-grant-tables

[mysqld]
skip-grant-tables

:wq! #保存退出

service mysqld restart  #重啟MySQL服務

2.進入MySQL控制台

mysql -uroot -p  #直接按回車,這時不需要輸入root密碼。

3.修改root密碼

update mysql.user set password=password('123456') where User="root" and Host="localhost";
flush privileges; #刷新系統授權表
grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;

4.取消/etc/my.cnf中的skip-grant-tables

vi /etc/my.cnf  編輯文件,找到[mysqld],刪除skip-grant-tables這一行

:wq! #保存退出

5.重啟mysql

service mysqld restart  #重啟mysql,這個時候mysql的root密碼已經修改為123456

6.進入mysql控制台

mysql -uroot -p #進入mysql控制台
123456 #輸入密碼

mysql服務開啟遠程訪問

問題現象:使用mysql遠程登錄命令mysql –uroot –h192.168.1.102 –p時,報錯MySQL ERROR 1130 (HY000): Host 'XXXX' is not allowed to connect to this MySQL server

問題原因:mysql服務器出於安全考慮,默認只允許本地登錄數據庫服務器。

問題解決:登入mysql后,更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%",然后重啟mysql這樣就允許所有的遠程機器進行訪問了。
1.修改mysql表

mysql -u root -p
mysql>use mysql;
mysql>update user set host='%' where user='root';
mysql>flush privileges;

mysql>select host, user from user;
mysql>quit

2.重啟mysql

mysql.server restart


免責聲明!

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



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