虚拟机复制
复制虚拟机需要注意修改
- mac地址
- ip地址
- uuid
vim /etc/sysconfig/network-scripts/ifcfg-ens33
MySQL的卸载
查看是否安装过MySQL
- 如果是使用rnp安装,需要检查一下rpm package
rpm -qa | grep -i mysql
-i 忽略大小写
- 检查MySQL service
systemctl status mysqld.service
- 如果存在mysql-libs的旧版本包,显示如下
- 如果不存在
卸载MySQL
- 关闭MySQL服务
systemctl stop mysqld.service
- 查看MySQL安装状况
rpm -qa | grep -i mysql
或 yum list installed | grep mysql
- 卸载上述命令查询出的已安装程序
yum remove ......
- 删除MySQL相关文件
- 查找相关文件
find / -name mysql
- 删除上述命令查找出相关文件
rm -rf xxx
- 删除 my.cnf
rm -rf /etc/my.cnf
MySQL的安装
检查环境依赖
- 检查/tmp临时目录权限
- 因为mysql安装过程中需要在/tmp目录下创建文件
chmod -R 777 /tmp
- 检查依赖
rpm -qa | grep libaio
- 如果存在 libaio
rpm -qa | grep net-tools
- 如果存在net-tools
安装过程
- 将安装程序拷贝到/opt目录下
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
- rpm 是redhat package manger 缩写,通过包管理器,用户可以把源代码包装成以rpm为扩展名的文件形式易于安装。
- -i --install 安装软件包
- -h --hash 软件安装的时候列出哈希标记(与-v一起使用展示进度条)
安装过程可能存在的错误信息:
- rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm 在执行这条指令时可能会报
- 需要手动删除
yum remove mysql-libs
查看MySQL版本
mysql --version
mysqladmin --version
查看mysql文件rpm -qa | grep -i mysql
初始化服务
为了保证数据库目录与文件的所有者为mysql登录用户,如果你是以root身份运行mysql服务,需要执行下面命令初始化
mysqld --initialize --user=mysql
说明:–initialize 选项默认以安全模式初始化,则会为root用户生成一个密码并将改密码标记为过期,登录后你需要设置一个新密码。生成的临时密码会往日志记录一份;
查看密码:cat /var/log/mysqld.log
启动MySQL,查看状态
# 启动
systemctl start mysqld
#查看状态
systemctl status mysqld
# 关闭
systemctl stop mysqld
# 重启
systemctl restart mysql
查看进程:ps -ef |grep -i mysql
查看MySQL是否自启动:systemctl list-unit-files|grep mysqld.service
- 如果不是enable可以通过命令设置:
systemctl enable mysqld
- 如果不希望自启动可以禁止:
systemctl disable mysqld
MySQL登录
通过mysql -uroot -p
然后输入初始密码
修改密码:
- 因为初始化密码是默认过期的,所以查看数据库会报错
- 修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL_011667';
- 5.7版本之后,MySQL加入了全新的密码安全机制。设置新密码太简单会报错
- 改为更复杂的密码规则之后,设置成功。
设置远程登录
- 确保虚拟机可以ping通
- 关闭防火墙
# 查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
# 禁止防火墙开机自启动
systemctl disable firewalld
MySQL数据库root用户默认只能本机访问,如果需要远程登录,需要开放权限
-- 修改权限
update user set host='%' where user='root';
-- 刷新权限
flush privileges;
修改完权限后会报如下错误,这是因为MySQL8.0修改了加密方式
解决方案:alter user 'root'@'%' identified with mysql_native_password by 'MySQL_011667';