1. 程式人生 > 資料庫 >mysql 5.8安裝

mysql 5.8安裝

mysql 版本:mysql-8.0.22

  下載地址:

    1、官網,太慢了,不推薦;

    2、國內映象,地址:

作業系統版本:CentOS release 6.8 (Final)

  下載地址:額,自行下載

 

centos安裝好後,把安裝包拷貝到 /usr/local/soft 下。

解壓tar包:

tar xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar

解壓後如下:

 

 

 新建一個資料夾mysql_install;

拷貝mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz到新的資料夾;

解壓mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

mkdir mysql_install
cp mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz ./mysql_install/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
cd mysql_install/
xz -d mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

 

現在 mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz 解壓成了mysql-8.0.22-linux-glibc2.12-x86_64.tar

再對mysql-8.0.22-linux-glibc2.12-x86_64.tar進行解壓:

tar xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar

拷貝mysql-8.0.22-linux-glibc2.12-x86_64到/usr/local/mysql下

建立mysql使用者和新增使用者組

並且給mysql使用者和使用者組授權mysql資料夾的許可權

cp -r mysql-8.0.22-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql/
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql ./

 

 

 初始化mysql資料庫,隨後會生成一個隨機的密碼,這個密碼拷貝下來,後面要用:

./bin/mysqld --initialize

 

 

 設定一些配置檔案位置和mysql配置:

./bin/mysqld \n
--defaults-file=/etc/mysql/my.cnf \n
--basedir=/usr/local/mysql/ \n
--datadir=/var/lib/mysql/ \n
--user=mysql \n
--initialize-insecure \n
--ssl
--explicit_defaults_for_timestamp
./bin/mysql_ssl_rsa_setup --datadir=/var/lib/mysql/ --verbose --uid=mysql

啟動服務:

service mysql start

測試報錯:

 

 

拷貝 /usr/local/mysql/data/auto.cnf檔案內容到 /etc/mysql/my.cnf下,如果該檔案或目錄不存在,則新建

配置my.cnf

vim /etc/mysql/my.cnf

新增:

[mysqld]
datadir=/usr/local/mysql/data
pid-file =  /usr/local/mysql/data/mysql.pid
basedir =  /usr/local/mysql/

同時日誌檔案 localhost.localdomain.err 檔案也是不存在的,如報錯所指,在目錄/usr/local/mysql/data/下,也要新建:

touch localhost.localdomain.err

然後在賦許可權,可用fillezilla或者指令賦權如下效果,隨後如果再有錯誤,就會列印在該檔案中:

 

 

 再次啟動mysql服務:service mysql start,再次報錯

 

 

 檢視日誌:

 

 

 mysql使用者的資料許可權問題,重新在/usr/local/mysql目錄下給mysql使用者賦權:

chown -R mysql:mysql ./

此時啟動mysql:service mysql start

成功:

 

登入,在/usr/local/mysql/bin下:./mysql -u root -p 隨後輸入密碼

進入介面後需要馬上修改密碼,否則報 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 

 修改mysql密碼:

ALTER USER USER() IDENTIFIED BY '密碼';

 

 此時遠端連線是不行的,需要設定允許遠端使用者訪問

切換到mysql資料庫,賦權,重新整理許可權。

use mysql
update user set host = '%' where user = 'root'
GRANT ALL ON *.* TO 'root'@'%'
flush privileges

更多方式參考。

關閉Linux防火牆或者開放3306埠號,即可遠端訪問資料庫。

 

配置mysql開機自啟動 :

先將/usr/local/mysql/mysql/support-files/ 資料夾下的mysql.server檔案複製到 /etc/rc.d/init.d/ 目錄下mysqld

命令: cp /usr/local/mysql/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

賦予可執行許可權:chmod +x /etc/init.d/mysqld

新增為服務: chkconfig --add mysqld

檢視服務列表:  chkconfig --list