linux安裝mysql8.0.25
阿新 • • 發佈:2021-06-30
一、安裝
準備工作
官網下載連結: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,如有侵權,請聯絡刪除