1.下載mysql
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar
2.解壓mysql包
tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
再解壓
tar xvJf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
修改名稱
mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
3.安裝mysql
3.1 增加mysql用戶
創建mysql用戶組:groupadd mysql
創建mysql用戶:useradd -g mysql mysql
設置密碼:passwd mysql
3.2添加默認配置文件
vim/etc/my.cnf
在my.cnf添加
[client]
port=3306
socket=/tmp/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=error.log
3.3 初始化mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
可能遇到錯誤:
提示沒有權限/tmp/mysql,解決方案,執行命令:chown -R mysql:mysql /tmp/mysql
提示error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory,解決方案,安裝libaio 即可yum install -y libaio
如果無異常情況日志如下可以看到mysql默認會生成root賬號和密碼
3.4 啟動mysql服務器
./support-files/mysql.server start
4.創建myslq用戶
創建用戶:create user 'jack'@'localhost' identified by 'jack';
授予權限:grant replication slave on *.* to 'jack'@'localhost';
刷新:flush privileges;
5.mysql忘記密碼重置
免密碼登陸,vim /etc/my.cnf,在【mysqld】模塊添加:skip-grant-tables
重啟mysql服務: service mysqld restart
登陸mysql,mysql -u root -p //提示輸入密碼時直接敲回車
選擇mysql數據庫,use mysql
將root密碼置空,update user set authentication_string = '' where user = 'root';
去重my.cnf中的skip-grant-tables並重啟mysql服務
登陸mysql選擇數據庫修改密碼,ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';(注意,這里mysql默認加密用的sha,navicat連接會提示authentication plugin 'caching_sha2_password',可使用ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
是mysql配置立即生效flush privileges;
6.其它問題
6.1 linux下執行mysql 命令提示unknown
原因:這是由於系統默認會查找/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是映射一個鏈接到/usr/bin目錄下,相當於建立一個鏈接文件。
ln -s /usr/local/mysql/bin/mysql /usr/bin
6.2 設置遠程登陸
登陸mysql(mysql -u root -p),使用mysql數據庫(use mysql),並執行:update user set host = '%' where user = 'root';最后執行flush privileges;
6.3建立mysql服務
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld(檢查服務是否生效)
6.4配置全局環境變量
vi /etc/profile
在 profile 文件底部添加如下兩行配置
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH