簡單在ctenos7上安裝mysql-8.0.11
阿新 • • 發佈:2019-02-12
mkdir -p /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/run/mariadb
mkdir -p /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/log/mariadb
touch /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/log/mariadb/mariadb.log
touch /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/run/mariadb/mariadb.pid
修改所有者
chown -R mysql:mysql /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/
初始化
./bin/mysqld --initialize --user=mysql --datadir=/home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/data/
#MySQL SSL RSA設定
bin/mysql_ssl_rsa_setup --datadir /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/data/
#自啟動
cp support-files/mysql.server /etc/init.d/mysql.server
使用自動生成的 密碼
#修改 /etc/my.cnf 檔案 mysql --help|grep 'my.cnf' 命令可以看 :/etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf 這些就是mysql預設會搜尋my.cnf的目錄,順序排前的優先。
可以簡單配置 data 目錄 或者參考 詳細設定配置
#啟動
mysqld --user=root &
#修改密碼
mysql>alter user 'root'@'localhost' identified by "DoctorAI#1234";
#設定遠端等陸(如果不修改就會 【mysql navicat 報錯1130】)
mysql>use mysql
mysql>update user set host='%' where user='root';
mysql>flush privileges;
#mysql 8 修改 加密規則 (如果不修改就會 【mysql navicat報錯 2059】)
mysql>ALTER USER 'root'@'%' IDENTIFIED BY 'DoctorAI#1234' PASSWORD EXPIRE NEVER;
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'DoctorAI#1234'; #更新一下使用者的密碼
開放3306埠
firewall -cmd --permanent --add-prot=3306/tcp
重啟防火牆
firewall -cmd --reload
或者關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
firewall-cmd --state #檢視預設防火牆狀態
#關閉
./mysqld --user=root stop
#開啟 通過在命令後面加上--user=root 進行強制使用root賬號啟動。這樣是最快的。
mysqld --user=root &
匯入資料庫的表結構
--刪除資料庫
mysql> drop database test;
--建立新的資料庫
mysql> create database test;
--進入該資料庫
mysql> use test;
--匯入資料
mysql> source /home/xx.sql
參考:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
mkdir -p /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/log/mariadb
touch /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/log/mariadb/mariadb.log
touch /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/run/mariadb/mariadb.pid
修改所有者
chown -R mysql:mysql /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/
初始化
./bin/mysqld --initialize --user=mysql --datadir=/home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/data/
#MySQL SSL RSA設定
bin/mysql_ssl_rsa_setup --datadir /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/data/
#自啟動
cp support-files/mysql.server /etc/init.d/mysql.server
使用自動生成的 密碼
#修改 /etc/my.cnf 檔案 mysql --help|grep 'my.cnf' 命令可以看 :/etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf 這些就是mysql預設會搜尋my.cnf的目錄,順序排前的優先。
可以簡單配置 data 目錄 或者參考 詳細設定配置
#啟動
mysqld --user=root &
#修改密碼
mysql>alter user 'root'@'localhost' identified by "DoctorAI#1234";
#設定遠端等陸(如果不修改就會 【mysql navicat 報錯1130】)
mysql>use mysql
mysql>update user set host='%' where user='root';
mysql>flush privileges;
#mysql 8 修改 加密規則 (如果不修改就會 【mysql navicat報錯 2059】)
mysql>ALTER USER 'root'@'%' IDENTIFIED BY 'DoctorAI#1234' PASSWORD EXPIRE NEVER;
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'DoctorAI#1234'; #更新一下使用者的密碼
mysql>FLUSH PRIVILEGES; #重新整理許可權
先來解釋一下為什麼會報這個錯,在mysql8之前的版本使用的密碼加密規則是mysql_native_password,但是在mysql8則是caching_sha2_password。 解決方案有很多,我是建立了一個新使用者,並指定加密規則為:mysql_native_password,這樣的話,僅需要執行以下語句即可: create user 'your username'@'%' identified with mysql_native_password by 'your password' 也可以直接修改my配置檔案,將預設密碼規則設定為mysql_native_password,重新整理許可權並重置root密碼即可。 default_authentication_plugin=mysql_native_password 如果想用新的caching_sha2_password也是可以的,java的話mysql已經推出了新的mysql-connector-java包,引入後,驅動使用com.mysql.cj.jdbc.driver即可,這個方案本地試了。沒有問題。
開放3306埠
firewall -cmd --permanent --add-prot=3306/tcp
重啟防火牆
firewall -cmd --reload
或者關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
firewall-cmd --state #檢視預設防火牆狀態
#關閉
./mysqld --user=root stop
#開啟 通過在命令後面加上--user=root 進行強制使用root賬號啟動。這樣是最快的。
mysqld --user=root &
匯入資料庫的表結構
--刪除資料庫
mysql> drop database test;
--建立新的資料庫
mysql> create database test;
--進入該資料庫
mysql> use test;
--匯入資料
mysql> source /home/xx.sql
參考:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html