声明:CentOS版本为7.6,安装的MySQL版本为8.0.17
rpm -pa | grep mysql #将搜到的结果使用`rm -rf 文件名` 删除掉,没有就跳过
rpm -pa | grep mariadb #将搜到的结果使用`rm -rf 文件名` 删除掉,没有就跳过
find / -name mysql #查找并删除相关文件夹,没有就跳过(同上)
find / -name mariadb #查找并删除相关文件夹,没有就跳过(同上)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum clean all
sudo yum makecache
yum repolist | grep mysql
cat /etc/yum.repos.d/mysql-community
yum-config-manager --enable mysql80-comminity
yum install mysql-community-server.x86_64
# 查看MySQL服务运行状态,active表示已启动,inactive表示未启动,failed表示启动失败
systemctl status mysqld.service
# 启动MySQL服务
systemctl start mysqld.service
# 停止MySQL服务
systemctl stop mysqld.service
# 重新启动MySQL服务
systemctl restart mysqld.service
刚安装的新版本mysql会自动生成一个临时密码,保存在`/etc/log/mysqld.log`
cat /var/log/mysqld.log | grep "password"
复制上一步的密码,输入`mysql -uroot -p密码`,或者先不输入密码按回车,在提示地方粘贴密码(密码不显示,粘贴一次就行了)。
show databases;
use mysql;
# 如将密码改成 NewPassword! ,为了安全尽量包含大小写字母数字加符号
alter 'user'@'localhost' identified by 'NewPassword!';
update user set Host='%' where User='root' and Host='localhost';
flush privileges;
create user 用户名 identified by '密码';
# 比如创建用户同时指定可以访问的主机,以及指定其可以访问的数据库表和对应的权限
create user 用户名@'主机名' identified by '密码';
grant select, update, create, delete on 数据库名.表名 to 用户名;
grant select on 数据库名.表名 to 用户; # 所有权限可以使用 all
flush privileges;
备份:数据表结构+数据
mysqdump -u root db1 > db1.sql -p;
备份:数据表结构
mysqdump -u root -d db1 > db1.sql -p;
导入现有的数据到某个数据库
先创建一个新的数据库
create database db10;
将已有的数据库文件导入到db10数据库中
mysqdump -u root -d db10 < db1.sql -p;
==注意==
==如果数据库报错:==
==“Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.”==
解决办法:
数据库初始化:
rm -rf /var/log/mysql.log
rm -rf /var/ib/mysql
本文结合自己实际操作中遇到的问题和在网络上搜集的解决方案而作,在此对各位提供了帮助的朋友表示感谢!
原文:https://www.cnblogs.com/ixuer/p/11718767.html