软件环境
操作系统: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后重新启动,这时再连接就可以用新密码了。