1. 程式人生 > 其它 >linux安裝mysql8.0.25

linux安裝mysql8.0.25

一、安裝

準備工作

官網下載連結:https://dev.mysql.com/downloads/mysql/

cd /usr/local
# 建立mysql目錄
mkdir mysql
# 進入目錄
cd mysql

將下載之後的包(mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz) 上傳到/usr/local/mysql 路徑下

1、解壓更新檔名

# 因為是xz檔案,所以要先解壓成tar
xz -d mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
# 解壓tar包
tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar
# 更改檔名稱,方便後續處理
mv mysql-8.0.25-linux-glibc2.12-i686 mysql-8.0.25
# 建立資料庫,資料儲存的目錄
cd mysql-8.0.25

  

2、建立使用者組授權

groupadd mysql
useradd
-g mysql mysql
chown mysql:mysql -R /usr/local/mysql/data/mysqldata
chmod 750 /usr/local/mysql/data/mysqldata/ -R

3、配置環境變數

vim /etc/profile
#在檔案的最後一行增加 export PATH
=$PATH:自己的解壓路徑/bin:自己的解壓路徑/lib source /etc/profile

4、編輯配置檔案(進入後i編輯,wq儲存)

vim /etc/my.cnf

  替換檔案內容

#2. 按insert 進入編輯模式 新增以下指令碼
[mysql]
# 客戶端預設字符集
default
-character-set=utf8mb4 [client] port=3306 socket=/var/lib/mysql/mysql.sock [mysqld] port=3306 server-id=3306 user=mysql datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # 設定mysql的安裝目錄 basedir=/usr/local/mysql/mysql-8.0.25/ #你自己的安裝路徑 # 設定mysql資料庫的資料的存放目錄 datadir=/usr/local/mysql/data/mysqldata//mysql #你自己建立的資料庫檔案存放路徑 log
-bin=/usr/local/mysql/data/mysqldata//mysql/mysql-bin innodb_data_home_dir=/usr/local/mysql/data/mysqldata//mysql innodb_log_group_home_dir=/usr/local/mysql/data/mysqldata//mysql character-set-server=utf8mb4 lower_case_table_names=1 autocommit=1 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] #設定mysql資料庫的日誌及程序資料的存放目錄 log-error=/usr/local/mysql/data/mysqldata//mysql/mysql.log pid-file=/usr/local/mysql/data/mysqldata//mysql/mysql.pid !includedir /etc/my.cnf.d

5、初始化資料庫

cd /usr/local/mysql/mysql-8.0.25/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql-8.0.25/ --datadir=/usr/local/mysql/data/mysqldata/mysql --user=mysql --initialize

#引數詳解
--defaults-file=/etc/my.cnf 指定配置檔案(一定要放在最前面,至少 --initialize 前面)
--user=mysql 指定使用者(很關鍵)
--basedir=/home/mysql-8.0.25/ 指定安裝目錄
--datadir=/data/mysqldata/mysql/ 指定初始化資料目錄

得到初始賬號密碼:

初始化時有可能會出現以下異常,此異常大概率是因為在伺服器是64位,而資料庫下載了32位的

異常一:bash: bin/mysqld: /lib/ld-linux.so.2: bad ELF interpreter: No such file or d

異常二:bash: bin/mysqld: /lib/libnuma.so.1: bad ELF interpreter: No such file or d

解決方案一:執行以下命令,安裝相容程式

yum install xulrunner.i686
yum install -y libaio
yum install -y libaio.so.1
yum install -y libnuma.so.1

  

解決方案二:下載64位資料庫,刪除/usr/local/mysql/data中初始化出來的資訊,重新執行步驟

6、複製mysql服務

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

7、賦予許可權,並增加/var/lib/mysql目錄

# 檢查一下/var/lib/mysql是否存在,否進行建立(目錄和my.cnf保持一致)
mkdir /var/lib/mysql
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld
chown -R mysql:mysql /var/lib/mysql/

8、啟動mysql服務

service mysql start #systemctl mysql start

 

二、操作資料庫

  1、連線資料庫

cd /usr/local/mysql/mysql-8.0.25/bin
./mysql -uroot -p

2、修改密碼

# 修改root密碼 修改root使用者只能本地連線
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '新密碼';
#重新整理許可權
flush privileges; 

3、設定遠端訪問

# 建立root使用者任意遠端訪問
CREATE user 'root'@'%';
alter user 'root'@'%' identified with mysql_native_password by '新密碼';
flush privileges;
# 建立mysql使用者任意遠端訪問
CREATE user 'mysql@'%';
alter user 'root'@'%' identified with mysql_native_password by '新密碼';
flush privileges;

4、授權

#將test庫的所有許可權賦予mysql使用者
grant all privileges on test.* to "mysql"@"%";
#重新整理許可權
flush privileges;

三、開機自啟動

#1.檢視是否有mysql服務
chkconfig --list
#2.進入mysql軟體目錄,複製mysql.server檔案到 /etc/rc.d/init.d目錄下
cp /usr/local/mysql/mysql-8.0.25/support-files/mysql.server /etc/init.d/mysql
#3.給/etc/rc.d/init.d/mysql賦權可執行許可權
chmod  +x  /etc/rc.d/init.d/mysql
#4.新增mysql服務
chkconfig --add mysql
#5.使mysql服務開機自啟
chkconfig --level 345 mysql on
#6.檢視MySQL服務 ,重啟伺服器,測試是否成功。
chkconfig --list

本文摘抄自:https://blog.csdn.net/qq_40869428/article/details/117226927,如有侵權,請聯絡刪除