mysql服务器搭建(centos7)
*mysql官网 下载rpm: https://dev.mysql.com/downloads/repo/yum/
*将下载的rpm包上传到Linux根目录:
*添加Mysql yum 存储库,执行命令:
sudo rpm -Uvh mysql80-community-release-el6-n.noarch.rpm
*手动编辑/etc/yum.repos.d/mysql-community.repo,将指定版本的数据库 enable=0 改为 enable=1 :
*查看有哪些子存储库已启用或禁用:
yum repolist all | grep mysql
*验证是否已启用和禁用了正确的子存储库:
yum repolist enabled | grep mysql
*开始安装MySql:
sudo yum install mysql-community-server
注意:在centos8的环境下,执行这个命令可能会报错: yum -y install mysql-community-server
解决的办法是:先禁用本地的MySQL模块,再执行安装:
yum module disable mysql
yum -y install mysql-community-server
安装完成后,配置文件在:/etc/my.cnf
*启动mysql服务器:
方法一: sudo service mysqld start
方法二: sudo systemctl start mysqld.service
*查看mysql服务器状态:
方法一: sudo service mysqld status
方法二: sudo systemctl status mysqld.service
*linux内登陆mysql:
mysql -u root -p
如果执行上述命令报:Mysql登录时报错 ERROR 1045 (28000):xxxxxxxxxxxxxxxxxx
则 进入/etc目录下,找到my.cnf文件 增加 在mysqld下面添加skip-grant-tables,重启mysql-server
当然也可以进入到日志文件中查看密码: /var/log/mysqld.log
ps:mysql5.7.6版本后 废弃user表中 password字段 和 password()方法,所以旧方法重置密码对mysql8.0版本是行不通的,共勉
进入命令行界面:
mysql -u root -p
use mysql;
查询user表关键字段:
Select user , host from user;
设置host “localhost”->”%” 表示允许远程全范围访问
Update user set host = ‘%’ where user = ‘root’;
刷新权限:
flush privileges;
设置root密码:
ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘xxxxxxx’;
刷新权限:
flush privileges;
考虑到MySQL8的版本之后的加密规则是caching_sha2_password,而8之前的加密规则是mysql_native_password,可能会导致部分客户端连接终端连接密码加密规则的错误,故:将mysql用户登录密码加密规则还原为mysql_native_password:
alter user ‘root’@‘%’ IDENTIFIED BY ‘xxxxxx’ PASSWORD EXPIRE NEVER;
alter user ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘xxxxxx’;
继续刷新权限:
flush privileges;
卸载
mysql卸载主要分为三步:
- 卸载已安装的mysql程序;
- 删除相关的文件夹;
- 删除my.cnf文件。
# 查看已安装的mysql程序
shell> rpm -qa | grep -i mysql
mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
# 按照查询结果一一删除,可能会有顺序要求,因为部分文件存在依赖关系
shell> rpm -ev mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
# rpm -qa | grep -i mariadb(删除centos默认系统自带的)
shell> rpm -qa | grep -i mariadb
shell> rpm -ev mariadb-connector-c-config-3.0.7-1.el8.noarch
删除相关的文件夹
# 查看对应的MySQL目录
find / -name mysql
# 结果:
/var/lib/docker/volumes/wp_db_data/_data/mysql
/var/lib/docker/volumes/94f2988e2ff63103c8c14f2bd69df6a4579e16bc2e5fd364b366878cd1e2fdc3/_data/mysql
... ...
# 删除对应目录文件[和docker有关的不删,那是另外的东西]:
rm -rf /var/log/mysql
rm -rf /usr/share/selinux/packages/mysql
rm -rf /lanblue/conf/mysql
... ...
删除配置文件
shell> rm -rf /etc/my.cnf