相关推荐recommended
【Linux下MySQL的初始化和配置】
作者:mmseoamin日期:2023-12-19

Linux下MYSQL的初始化和配置

  • 一、初始准备
    • (一)服务初始化
    • (二)启动MYSQL
    • (三)MYSQL登录
    • 二、设置远程登录
      • (一)确认网络
      • (二)关闭防火墙
      • (三)Linux下修改配置

        一、初始准备

        先去官网把需要的MYSQL版本下载并安装好,网上具体下载的方法蛮多的,这里就不赘述了。

        (一)服务初始化

        为了保证数据库目录与文件的所有者为 mysql 登录用户,如果以 root 身份运行 mysql 服务,需要执行下面的命令:

        mysqld --initialized --user==mysql
        

        说明:–initialize选项默认以“安全”模式来初始化,为 root 用户生成一个密码并将该密码标记为过期 ,登录后需要设置一个新密码。生成的临时密码会往日志中记录一份。

        • 查看密码:
          cat /var/log/mysqld.log
          

          【Linux下MySQL的初始化和配置】,初始化密码,第1张

          (二)启动MYSQL

          --1.启动:systemctl start mysqld
          --2.关闭:systemctl stop mysqld
          --3.重启:systemctl restart mysqld
          --4.查看状态:systemctl status mysqld
          

          mysqld 这个可执行文件就代表着 MySQL 服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。

          【Linux下MySQL的初始化和配置】,运行并查看状态,第2张

          5.查看进程:

          ps -ef | grep -i mysql
          

          【Linux下MySQL的初始化和配置】,查看进程,第3张

          6.查看mysql服务是否自启动

          systemctl list-unit-files|grep mysqld.service
          

          【Linux下MySQL的初始化和配置】,查看mysql服务是否自启动,第4张

          这里默认是enabled

          • 如不是enabled可以运行如下命令设置自启动
            systemctl enable mysqld.service
            
            • 如果希望不进行自启动,运行如下命令设置
              systemctl disable mysqld.service
              

              (三)MYSQL登录

              1. 首次登录
               mysql -hlocalhost -P3306 -uroot -p
              
              • 在Enter password:录入前面得到的初始化密码

                【Linux下MySQL的初始化和配置】,登录MYSQL,第5张

                1. 修改密码
                • 因为初始化密码默认是过期的,所以查看数据库会报错
                • 因此需要修改密码
                  ALTER USER 'root'@'localhost' IDENTIFIED BY '自定义密码';
                  
                  • 之后就可以正常使用数据库了,如果密码过于简单可能会报错。

                    3.再次登录

                    mysql -uroot -p
                    
                    • 录入已修改的密码即可

                      【Linux下MySQL的初始化和配置】,登录MYSQL,第6张

                      二、设置远程登录

                      小编用的是Navicat,具体方法参考网上教程~配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。

                      (一)确认网络

                      1.在远程机器上使用ping ip地址 保证网络畅通

                      ping ip地址
                      

                      2.在远程机器上使用 telnet命令 保证端口号开放访问

                      telnet ip地址 端口号
                      

                      (二)关闭防火墙

                      • CentOS6
                        service iptables stop
                        
                        • CentOS7
                          systemctl start firewalld.service
                          systemctl status firewalld.service
                          systemctl stop firewalld.service
                          
                          //设置开机启动防火墙
                          systemctl enable firewalld.service
                          //设置开机禁用防火墙
                          systemctl disable firewalld.service
                          

                          1.查看防火墙状态

                          systemctl status firewalld.service
                          

                          【Linux下MySQL的初始化和配置】,查看防火墙状态,第7张

                          2.关闭防火墙

                          systemctl stop firewalld.service
                          systemctl disable firewalld.service
                          

                          【Linux下MySQL的初始化和配置】,在这里插入图片描述,第8张

                          (三)Linux下修改配置

                          1.进入mysql测试:

                          use mysql;
                          select Host,User from user;
                          

                          【Linux下MySQL的初始化和配置】,在这里插入图片描述,第9张可以看到 root用户当前配置为localhost

                          2.修改Host为通配符%

                          update user set host = '%' where user = 'root';
                          select Host,User from user;
                          

                          【Linux下MySQL的初始化和配置】,在这里插入图片描述,第10张

                          这样 root就变成不限制连接的主机ip

                          3.使配置立刻生效

                          flush priviledges;
                          

                          【Linux下MySQL的初始化和配置】,在这里插入图片描述,第11张

                          成功连接!!!

                          【Linux下MySQL的初始化和配置】,在这里插入图片描述,第12张