軟件環境
操作系統:CentOS7.5
安裝版本:MySQL8.0
一、在線安裝
1、卸載mariadb
>rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
>rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
2、安裝MySQL
>wget -i -c https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
>yum -y install mysql80-community-release-el7-3.noarch.rpm
>yum -y install mysql-community-server
3、修改默認密碼,遠程連接權限
- 重啓服務
>service mysqld restart
- 查看默認密碼
grep "password" /var/log/mysqld.log
- 修改密碼
>mysql -h localhost -u root -p
mysql >ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root!1234' PASSWORD EXPIRE NEVER;
mysql >ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root!1234';
mysql >flush privileges;
- 設置遠程連接權限
mysql >use mysql;
mysql >update user set host = '%' where user = 'root';
mysql >flush privileges;
>service mysqld restart
二、免安裝版配置
1、下載免安裝壓縮包
下載地址:http://dev.mysql.com/downloads/mysql/
下載mysql-5.7.14-linux-glibc2.5-x86_64.tar包
2、將壓縮包上傳到服務器,解壓並重命名
tar -zxvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.14-linux-glibc2.5-x86_64 mysql
3、創建MySQL用戶組合用戶並授權
檢查是否存在mysql用戶組
cat /etc/group | grep mysql
不存在則創建
group add mysql
檢查是否存在mysql用戶
cat /etc/passwd | grep mysql
不存在則創建
useradd -r -g mysql mysql
設置mysql讀取/usr/soft/mysql文件夾的權限
chown -R mysql mysql/
chgrp -R mysql mysql/
檢查datadir目錄以及basedir目錄是否存在,不存在則創建。
mkdir /home/data/mysql
4、安裝
bin/mysqld --initialize --user=mysql --basedir=/usr/soft/mysql/ --datadir=/home/data/mysql/
5、配置
給root用戶設置權限
chown -R root .
拷貝配置文件
cp support-files/my-default.cnf /etc/my.cnf
修改配置文件
cd /etc
vi my.cnf
修改basedir datadir port屬性
添加到開機啓動
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
登錄mysql
cd /usr/soft/mysql/bin
./mysql -uroot -p
輸入上面安裝時生成的密碼
修改密碼
use mysql;
update user set authentication_string=PASSWORD('********') where User='root';
flush privileges;
修改用戶可遠程訪問
select host.user from user;
update user set host='%' where user = 'root';
select host.user from user;
退出並重啓
exit;
/etc/init.d/mysqld restart
6、遇到的問題
-
安裝報錯
5.7後bin/mysql_install_db會報錯,需要改成bin/mysqld --initialize -
卸載不完全
如果之前安裝過,卸載了重裝,必須把原來的殘留數據刪除乾淨,如data、log、mysql等文件夾。
查詢是否存在庫文件
rpm -qa | grep mysql
然後用命令一個一個刪除
rpm -e mysql-community-common-5.7.16-1.el7.x86_64 --nodeps -
安裝後密碼忘記,不能登錄
先停止mysql
/etc/init.d/mysqld stop
再用skip-grant-tables啓動mysql
/etc/init.d/mysqld start --skip-grant-tables
登錄mysql,這時不需要密碼
./mysql -uroot -p
修改root密碼,5.7後password改爲authentication_string
update mysql.user set authentication_string=PASSWORD(’********’) where User=‘root’;
flush privileges;
exit;
關閉mysql後重新啓動,這時再連接就可以用新密碼了。