Linux中安装mysql

Mysql 安装

下载

下载的地址:MySQL :: Download MySQL Community Server

在这里插入图片描述

删除mysql

部分系统中有一个默认得mysql5.5 的一个版本需要先删除在安装

# 查看是否有mysql
yum list installed | grep mysql
# 存在则执行一下命令删除
yum -y remove mysql-libs.x86_64 (mysql-libs.x86_64 为查看到的内容)

安装

  1. 安装 wget 命令

    yum install wget -y
    
  2. 下载 mysql

    我们这里使用的是 wget 命令直接下载

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
    
  3. 查看系统自带的 Mariadb并卸载

    # 查看你
    rpm -qa | grep mariadb
    # 卸载
    rpm -e --nodeps mariadb-libs(查出来的名字)
    

    在这里插入图片描述

  4. 删除 /etc 目录下的 my.cnf(有就删除)

    rm -f /etc/my.cnf
    
  5. 检查 mysql 是否存在,检查mysql的用户组和用户是否存在,如无则创建

    rpm -qa | grep mysql
    cat /etc/group | grep mysql
    cat /etc/passwd | grep mysql
    # 创建用户组
    groupadd mysql
    #  创建用户
    useradd -g mysql mysql
    # 设置密码
    passwd mysql
    
  6. 解压缩

    tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
    

    在这里插入图片描述

  7. 将文件移动到 /usr/local/mysql

    mv  mysql-5.7.41-linux-glibc2.12-x86_64  /usr/local/mysql
    
  8. 将解压后的 mysql 的安装包更改用户和组为mysql

    cd /usr/local/mysql
    chown -R mysql:mysql .
    
  9. 在mysql文件夹下创建data目录,并修改用户和组都的权限为mysql

    cd /usr/local/mysql
    mkdir data
    chown -R mysql:mysql data
    
  10. 在 /etc 下创建my.cnf文件

    vim /etc/my.cnf
    

    内容:

     
    [mysqld]
    # set mysql server port  
    port = 3306 #默认是3306
    # set mysql install base dir
    basedir=/usr/local/mysql
    # set the data store dir
    datadir=/usr/local/mysql/data
    # set the number of allow max connnection
    max_connections=200
    # set server charactre default encoding
    character-set-server=utf8
    # the storage enginedefault-storage-engine=INNODB
    lower_case_table_names=1
    max_allowed_packet=16M
    explicit_defaults_for_timestamp=true
     
    [mysql.server]
    user=mysql
    basedir=/usr/local/mysql
    

    修改my.cnf权限

    cd /etc/
    chown -R mysql:mysql my.cnf
    chown 777 my.cnf
    
  11. 进入mysql文件夹安装 mysql

    cd /usr/local/mysql/
    
    # 这里推荐在5.7之前使用(但是我在安装5.7时确可以用)
    ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    
    # 5.7之后上面执行报错可执行这个进行初始化
    ./bin/mysqld --initialize --user=mysql --basedir=usr/local/mysql/ --datadir=/usr/local/mysql/data/
    # 5.7之后出现错误
    # ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    # 需要先安装一个libaio
    yum install -y libaio
    # 安装完成后再执行上面命令
    
    
    # 切换 root 账户
    su root
    cp ./support-files/mysql.server /etc/init.d/mysqld
    
    chmod a+x /etc/init.d/mysqld
    
  12. 配置环境变量

    vim /etc/profile
    # 内容
    export MYSQL_HOME=/usr/local/mysql
    export PATH=$MYSQL_HONE/bin:$PATH
    # 刷新资源
    source /etc/profile
    

    在这里插入图片描述

  13. 启动mysql

    # 启动
    service mysqld start
    # 状态
    service mysqld status
    # 停止
    service mysqld stop
    
  14. 进入mysql

    # 获取mysql初始密码:
    #cat /root/.mysql_secret
    # 登录
    # mysql -u root -p     (输入刚才查出的密码)
    # 更改密码
    mysql>  set PASSWORD = PASSWORD('xxxx');
    # 刷新保存设置
    mysql>  flush privileges;
    

如果初始化密码输入一直错误

  1. 先停止 mysql 服务

    service mysqld stop
    
  2. 使用安全模式登陆,跳过密码验证

    mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    
  3. 登录

    mysql -uroot  mysql
    
  4. 修改密码(‘123456’ 就是你想要设置的密码)

    update user set authentication_string = password('123456') where user = 'root' and Host = 'localhost';
    
  5. 刷新权限

    flush privileges;
    
  6. 随后使用你修改的密码再次登录修改密码

    # 更改密码
    mysql>  set PASSWORD = PASSWORD('xxxx');
    # 刷新保存设置
    mysql>  flush privileges;
    

随后正常登录即可;

远程连接

出现远程连接无法连接的情况。

在这里插入图片描述

  1. 查看是否开启远程连接

    use mysql;
    select host,user from user;
    

    在这里插入图片描述

    root 账户必须是 % 如果不是可以执行一下命令

    use mysql;
    update `user` set `host` = '%' where `user` = 'root';
    
  2. is not allowed to connect to this MySQL server

    # 你想myuser使用mypassword从任何主机连接到mysql服务器的话
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    FLUSH   PRIVILEGES;
    
    # 如果你想允许用户myuser从ip为192.168.204.128的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
    GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.204.128' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    FLUSH   PRIVILEGES;
    

    在这里插入图片描述

  3. 查看防火墙是否关闭 / 是否开放端口

    # 关闭防火墙
    systemctl stop firewalld
    # 或 
    # 打开端口
    firewall-cmd --zone=public --add-port=3306/tcp --permanent 
    # 重启防火墙
    firewall-cmd --reload
    
    

    在这里插入图片描述

参考地址:

参考地址:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值