linux安装mysql5.7

Linux系统(七):安装MySQL(2021最新最详细) - 净重21克 - 博客园 (cnblogs.com)

 

解压软件包

 

 

 

 

 

 查看是否安装过MySQL

rpm -qa | grep -i mariadb   CentOS7使用这个

-i忽略大小写

 

卸载MySQL; --nodeps 排除依赖,否则别的软件依赖mysql,无法删除

rpm -e --nodeps mariadb-libs

 

检查/tmp临时目权限;chmod -R 777 /tmp

 

执行安装命令前,先执行查询命令检查依赖

rpm -qa|grep libaio

rpm -qa|grep net-tools

如果不存在需要到centos安装盘里进行rpm安装。安装linux如果带图形化界面,这些都是安装好的。

 

将安装程序拷贝到/opt目录下

在mysql的安装文件目录下执行:(必须按照顺序执行)

rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rp

 查看mysql版本

  • 执行 mysqladmin --version命令,类似java -version如果打出消息,即为成功
  • 执行rpm -qa|grep -i mysql命令,查看是否安装成功,需要增加 -i 不用去区分大小写,否则搜索不到。

 

服务的初始化

  • 为了保证数据库目录为与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化:
  • mysqld --initialize --user=mysql
  • 另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登录后你需要设置一个新的密码

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

 启动mysql,并查看状态(加不加.service后缀都可以)

  • 启动:systemctl start mysqld.service
  • 关闭:systemctl stop mysqld.service
  • 重启:systemctl restart mysqld.service
  • 查看状态:systemctl status mysqld.service
  • 查看进程:ps -ef | grep -i mysql

 查看mysql服务是否自启动(默认自启动)

    systemctl list-unit-files|grep mysqld.service 

  • 如不是enabled可以运行如下命令设置自启动

    systemctl enable mysqld.service

  • 如果希望不进行自启动,运行如下命令设置

    systemctl disable mysqld.service

 

首次登录

  • 通过 mysql -uroot -p进行登录,在Enter password:录入初始化密码   建议密码使用引号包裹

 修改密码

  • 因为初始化密码默认是过期的,所以查看数据库会报错

修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 但新密码太简单会报错

 

 

 

 

 

 

 

 字符集问题

  • 默认latin1字符编码,不支持中文

show variables like '%char%';

  • 保存中文报错

 

 

  1. 修改字符集
  • vim  /etc/my.cnf

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

 

 

  1. 重新启动mysql

systemctl restart mysqld

  1. 已生成的库表字符集如何变更
  • 以前创建的库,创建的表字符集还是latin1
  • 修改以前数据库的字符集

    alter database mydb character set 'utf8';

  • 修改以前数据表的字符集

    alter table mytbl convert to  character set 'utf8';

  • 但是原有的数据如果是用非'utf8'编码的话,数据本身编码不会发生改变。
  • 已有数据需要导出或删除,然后重新插入。

 

查看字符集

show variables like 'character%';

show variables like '%char%';

 

确认MySQL中已经有可以通过远程登录的账户

  select  * from mysql.user where user='root' and host='%';

如果没有用户,先执行如下命令

  grant all privileges on *.*  to root@'%'  identified by 'root';

 测试连接

 

posted @   坤王  阅读(329)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示