首先下载四个mysql包
关闭之前安装的mysql,命令:
systemctl stop mysqld
一个个来
rpm -e --nodeps mysql-community-server rpm -e --nodeps mysql-community-client rpm -e --nodeps mysql-community-libs rpm -e --nodeps mysql-community-common
卸载完基本的环境后,我们要清理依赖的文件(数据库配置文件及数据库数据文件)
-- 删除数据库配置文件(一般情况下卸载了mysql这个文件也会被自动删除) rm -rf /etc/my.cnf -- 删除数据库数据文件(包含系统数据库表和自定义数据库表) rm -rf /var/lib/mysql -- 删除日志临时文件(比如安装后产生密码的文件,不删除会发现安装后查询2个初始密码,但以下面的为主) rm -rf /var/log/mysqld.log
卸载mariadb:检查是否安装了mariadb(CentOS7默认安装)其他7以前版本
rpm -qa | grep mariadb rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
以防万一后面安装出错,缺少依赖,安装一下。
yum install libaio -y yum install net-tools -y
安装这四个包
rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm
# 安装后查询安装的MySQL版本 mysqladmin --version
检查一下
# 查询MySQL在系统的状态 [root@VM-8-15-centos ~]# systemctl status mysqld # 启动MySQL数据库 [root@VM-8-15-centos ~]# systemctl start mysqld # 关闭MySQL数据库 [root@VM-8-15-centos ~]# systemctl stop mysqld # 重启MySQL数据库 [root@VM-8-15-centos ~]# systemctl restart mysqld # 查看MySQL进程 [root@VM-8-15-centos ~]# ps -ef | grep mysql
- 获取数据库临时密码:grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
输入临时密码
修改密码发现密码不严谨需要更改密码难度
ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'new_password'
;
set global validate_password_policy=0; # 关闭密码复杂性策略(LOW) set global validate_password_length=4; # 设置密码复杂性要求密码最低长度为4
如果需要远程登录可以把localhost改成想要的ip如192.168.1.10或者直接%(任意ip)
ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'密码'
;
创建用户加权限:mysql> CREATE USER '用户名ser'@'119.28.68.52' IDENTIFIED BY '密码';
CREATE USER 'chemical'@'%' IDENTIFIED BY 'aaAA$$!!66'; # 可远程访问权限 CREATE USER 'jack'@'localhost' IDENTIFIED BY '54088'; # 本地访问的权限
flush privileges;
接着就是vim /etc/my.cnf
[mysqld] #默认 port=3306 #数据目录 datadir=/var/lib/mysql #该条配置需在[client]段同时配置 socket=/var/lib/mysql/mysql.sock #多客户访问同一数据库,该选项默认开启 symbolic-links=0 #默认 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid #打开时,和max_connections对比,取大数 open_files_limit=65535 #开启慢查询日志相关,默认10秒,慢查询日志路径,记录没有使用索引的sql slow_query_log=on long_query_time=10 slow_query_log_file=/var/log/mysql/slow_query.log log-queries-not-using-indexes=1 #InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间 default_storage_engine=InnoDB innodb_file_per_table=on #生产中要改,建议为操作系统内存的70%-80%,需重启服务生效 innodb_buffer_pool_size=1G #忽略主机名解析,提高访问速度(注意配置文件中使用主机名将不能解析) skip_name_resolve=on #忽略表单大小写 lower_case_table_names=0 #设定默认字符为utf8mb4 character-set-server=utf8mb4 #SQL_MODEL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
之后重启
systemctl restart mysqld
后面比如使用第三方软件远程连接liunx上的mysql的注意事项
1,ping centos的ip看能不能ping通
2,检查mysql账号是否有远程权限# select user,host from mysql.user 指令来查看账号是指定ip或%
3,centos可以选择关闭防火墙和=或开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
具体远程连接这方面大家尽量百度我给大家一个链接
Navicat连接MySQL数据库报10038错误的解决方法(对多个可疑点一步步排错法)-运维基础-中存储网 (chinastor.com)