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