deepin20安装mysql5.7

https://blog.csdn.net/qq_37598011/article/details/93489404/
安装就照着这个博主的操作,应该就没问题

自己记录下:

  1. 下载tar.gz包,https://dev.mysql.com/downloads/mysql/5.7.html#downloads
  2. 解压
    tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar 
    
  3. 创建mysql用户组和用户并修改权限
    groupadd mysql
    useradd -r -g mysql mysql
    mkdir -p  /data/mysql              #创建目录
    chown mysql:mysql -R /data/mysql   #赋予权限
    
  4. 添加配置文件
    vim /etc/my.cnf
    
    [mysqld]
    bind-address=0.0.0.0
    port=3306
    user=mysql
    basedir=/usr/local/mysql
    datadir=/data/mysql
    socket=/tmp/mysql.sock
    log-error=/data/mysql/mysql.err
    pid-file=/data/mysql/mysql.pid
    #character config
    character_set_server=utf8mb4
    symbolic-links=0
    explicit_defaults_for_timestamp=true
    
  5. 初始化数据库
    cd /usr/local/mysql/bin/
    ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
    
    并查看密码
    cat /data/mysql/mysql.err
    
  6. 先将mysql.server放置到/etc/init.d/mysql中,然后启动mysql
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    service mysql start
    ps -ef|grep mysql
    ./mysql -u root -p   #bin目录下 登录mysql并修改密码
    SET PASSWORD = PASSWORD('123456');
    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    FLUSH PRIVILEGES; 
    use mysql                                            #访问mysql库
    update user set host = '%' where user = 'root';      #使root能再任何host访问
    FLUSH PRIVILEGES;                                    #刷新
    
    ln -s  /usr/local/mysql/bin/mysql    /usr/bin #这样启动mysql就不用进入bin目录都可以了
    

最后,如果Navicat连接提示Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.soc的解决办法:

  1. 首先确保mysql是启动着的
  2. 查看my.conf配置文件
    	[mysqld]
    	bind-address=0.0.0.0
    	port=3306
    	user=mysql
    	basedir=/usr/local/mysql
    	datadir=/data/mysql
    	socket=/tmp/mysql.sock
    	log-error=/data/mysql/mysql.err
    	pid-file=/data/mysql/mysql.pid
    	#character config
    	character_set_server=utf8mb4
    	symbolic-links=0
    	explicit_defaults_for_timestamp=true
    
    能看到socket=/tmp/mysql.sock而不是/var/lib/mysql/mysql.soc
  3. 所以解决办法有两个
    • 修改配置文件
    • 建立软连接
      cd /var/lib
      sudo mkdir mysql
      sudo ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值