• 如何在Linux上安装mysql数据库
  • 发布于 2个月前
  • 499 热度
    0 评论
  • 怪咖豆
  • 0 粉丝 27 篇博客
  •   
一.下载包
https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
二.解压
$ tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 
# 移动到local/mysql目录下
$ sudo mv mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql
三.创建 data 目录
mkdir data
四.创建 MySQL 用户 并升级权限
useradd mysql
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
五.初始化
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
image-20200823152508875

注意上面的红框是个初始的登录密码。


六.启动并修改密码
cd support-files
./mysql.server start
七.连接修改密码
在连接 MySQL 的时候出现依赖错误。
./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
image-20200823152726962

这里是少了一个依赖导致的,可以使用 ldd mysql 来查看 MySQL 对应的依赖:


从上图中可以看到,其中libtinfog.so.5依赖没有。

这个文件一般在 /etc/lib64/,如果没有需要重现下载,或者拷贝一个。

我本地是有的 6.0 ,直接创建一个同步链接就可以了:
sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
1.开始连接
./mysql -uroot -p
2.修改密码和允许远程连接
# 修改密码
mysql>ALTER USER USER() IDENTIFIED BY 'yourpass';
mysql>flush privileges
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
3.修改完还是无法连接
测试是否是防火墙拦截了,先停止防火墙试试
# 火墙的状态
$ firewall-cmd --state
 running 
$ systemctl stop firewalld
4.停止火墙后能够正常连接,说明是 MySQL 端口没有在防火墙中信任
firewall-cmd --add-port=3306/tcp --permanent 开放某一个端口号
systemctl restart firewalld  启动防火墙

用户评论