【實戰篇】linux下安裝mysql8.0
阿新 • • 發佈:2020-12-10
1.下載安裝
mysql下載地址 https://dev.mysql.com/downloads/mysql/
或者直接使用命令下載
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
解壓
sudo tar -xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
剪下貼上到/usr/local/mysql目錄
sudo mv mysql-8.0.22-linux-glibc2.12-x86_64 /usr/local/mysql
建立data目錄
sudo mkdir /usr/local/mysql/data
2.建立使用者和使用者組
sudo groupadd mysql
sudo useradd -g mysql mysql
授權
sudo chown -R mysql.mysql /usr/local/mysql
3.初始化資料庫
sudo /usr/local/mysql/bin/mysqld --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize
--lower-case-table-names=1 設定大小寫不敏感,mysql8.0不設定的話,之後修改不了,所以如果需要設定大小寫不敏感的,初始化時務必加上
得到臨時密碼
4.建立配置檔案/etc/my.cnf
# vim /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3308 socket=/tmp/mysql.sock lower_case_table_names=1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES default_authentication_plugin=mysql_native_password max_connections=1500 log-error=/usr/local/mysql/mysqlerr.log #skip-grant-tables [client] default-character-set=utf8 socket=/tmp/mysql.sock [mysql] default-character-set=utf8 socket=/tmp/mysql.sock
5.新增mysql到系統服務
sudo cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
sudo chkconfig --add mysqld
sudo chkconfig --list
6.啟動服務
sudo service mysqld start
可能會報err檔案不存在,建立即可
sudo touch /usr/local/mysql/mysqlerr.log
sudo chown -R mysql:mysql /usr/local/mysql/mysqlerr.log
sudo chmod 777 /usr/local/mysql/mysqlerr.log
建立mysql指令快捷方式
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
如不建立,直接使用mysql指令會報錯
7.登入mysql
使用初始密碼登入
修改root密碼
建立可遠端的root賬號
修改加密規則
mysql8.0寫法
先建立使用者,再修改加密規則
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'root';
Query OK, 0 rows affected (0.06 sec)
mysql> create user 'root'@'%' identified by 'root';
Query OK, 0 rows affected (0.06 sec)
mysql> alter user 'root'@'%' identified with mysql_native_password by 'root';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)